DE3780208T2 - Textverarbeitungsapparat zur verarbeitung von texten gemaess verschiedenen ausgewaehlten textformaten. - Google Patents
Textverarbeitungsapparat zur verarbeitung von texten gemaess verschiedenen ausgewaehlten textformaten.Info
- Publication number
- DE3780208T2 DE3780208T2 DE8787303921T DE3780208T DE3780208T2 DE 3780208 T2 DE3780208 T2 DE 3780208T2 DE 8787303921 T DE8787303921 T DE 8787303921T DE 3780208 T DE3780208 T DE 3780208T DE 3780208 T2 DE3780208 T2 DE 3780208T2
- Authority
- DE
- Germany
- Prior art keywords
- format
- text
- text format
- parameters
- change
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 40
- 238000001514 detection method Methods 0.000 claims description 7
- 239000000872 buffer Substances 0.000 description 11
- 230000015654 memory Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000007373 indentation Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
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)
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf einen Textverarbeitungsapparat zur Verarbeitung von Texten gemäß verschiedenen ausgewählten Textformaten.
- Bei Einrichtungen zur Textverarbeitung, die Textdaten und Befehle zur Verarbeitung von Texten empfangen, wird das Format des für die Verarbeitung zu verwendenden Textes häufig durch Formatierungsanweisungen gesteuert, die im Textdatenstrom eingebettet sind. Bei Textverarbeitungseinrichtungen nach dem Stand der Technik bleiben diese Formatierungsanweisungen, nachdem sie einmal spezifiziert wurden, solange gültig, bis sie durch andere Anweisungen geändert werden. Bei derartigen Einrichtungen erfolgt keinerlei Protokollierung. Sobald ein Parameter eines Textformats durch eine der Formatierungsanweisungen geändert wurde, ist der vorherige Wert des Parameters, der diesem vor der Änderung zugeordnet war, vergessen. Derartige Textverarbeitungseinrichtungen unterliegen daher starken Einschränkungen, da die aktuellen Werte der Formatparameter dokumentiert werden müssen, bevor sie vorübergehend geändert werden, wenn zu einem späteren Zeitpunkt der Textverarbeitungsoperation wieder das aktuelle Format verwendet werden soll.
- Beispiel: In einer Textanwendung wird ein langes Zitat mit Einzug des linken und rechten Textrandes, Wechsel der Schriftart und Änderung des Zeilenabstandes (z.B. von doppeltem auf einfachen Zeilenabstand) verarbeitet. Wenn die Verarbeitung des Zitattextes abgeschlossen ist, sollen die ursprünglichen Parameter für Randeinstellung, Schriftart und Zeilenabstand wiederhergestellt werden. Bei modalen Systemen (wie dem oben beschriebenen) sind nach Formatierung des Zitattextes (wenn für die Änderung von Randeinstellung und Zeilenabstand und den Wechsel der Schriftart wie vorgegeben Formatierungsanweisungen verwendet werden) die ursprünglichen Werte für Randeinstellung und Zeilenabstand und die ursprünglich gewählte Schriftart für die weitere Verarbeitung nicht mehr vorhanden. Wenn die Verarbeitung des Zitattextes abgeschlossen ist, muß der Bediener die ursprünglichen Werte für Randeinstellung und Zeilenabstand sowie die Schriftart durch Eingabe neuer Formatierungsanweisungen erneut festlegen. Voraussetzung dafür ist, daß dem Bediener die ursprünglichen Werte für Randeinstellung und Zeilenabstand sowie die vor Durchführung der Formatänderung verwendete Schriftart bekannt sind. Bei bestimmten Anwendungen kann dies der Fall sein, in weniger strukturierten Anwendungen kann es jedoch sein, daß der Bediener Text erfaßt, der erst zu einem späteren Zeitpunkt mit einem bestimmten Rand und Zeilenabstand sowie einer bestimmten Schriftart formatiert wird. Bei der Erfassung weiß der Bediener also lediglich, daß für das Zitat die Ränder eingezogen, der Zeilenabstand geändert und eine andere Schriftart (z.B. Kursivschrift) verwendet werden soll. Weiter ist ihm bekannt, daß die aktuellen (jedoch nicht unbedingt die ursprünglichen) Formatparameter im Anschluß an die Verarbeitung des Zitattextes wiederhergestellt werden sollen.
- Daher ist bei dieser weniger strukturierten Anwendung die endgültige Formatierung des Textes mit der endgültigen Bestimmung der Textdaten verknüpft. Ist diese endgültige Bestimmung bei der Erfassung des Textes nicht bekannt, können die dem Text zugeordneten Formatierungsanweisungen nicht zusammen mit den Textdaten eingegeben werden, so daß der Text für jede nachfolgende Formatänderung editiert werden muß. Es ist daher sicher sinnvoll, den Text bei der Erfassung zu formatieren und so zu vermeiden, daß der Text für die Formatierung in der endgültigen Form editiert werden muß.
- Nach dem Stand der Technik wurde versucht, diese Probleme mit Hilfe eines Standardformatpuffers zu umgehen, in dem ein Satz von Formatzuständen für ein Dokument gespeichert wird. Diese Technik wurde um einen zweiten Puffer, den Alternativformatpuffer erweitert, der einen alternativen Satz von Formatzuständen für ein Dokument speichert, wie dies beim Textverarbeitungsprogramm IBM Personal Computer (Warenzeichen) DisplayWrite 3 der Fall ist. Der Einsatz weiterer Alternativformatpuffer ist nach diesem Verfahren möglich, doch wird dabei in jedem dieser Standard- und Alternativformatpuffer ein stark strukturierter Satz von Daten gespeichert, der einen erheblichen Anteil Speicherkapazität belegt, da hierbei der Wert für jeden einzelnen Formatierungsparameter gespeichert wird, unabhängig davon, ob dieser mit den Werten für den gleichen Formatierungsparameter in anderen gespeicherten Formaten identisch ist. Teile dieser gespeicherten Formate oder die gesamten gespeicherten Formate können nach einer Formatierungsänderung durch über die Architektur bereitgestellte Formatierungsanweisungen wiederhergestellt werden. Damit ist jedoch das Problem der Wiederherstellung der Formatierungswerte, die unmittelbar vor einer Formatierungsänderung in Kraft waren, nicht gelöst, da eine Rückkehr zum Standard- oder Alternativformat eine Rückkehr zu einem Formatierungszustand bedeutet, der bereits zu Beginn des Dokuments festgelegt wurde.
- Patentschrift EP-A-0 119 395 beschreibt ein Textverarbeitungs - und Anzeigesystem, bei dem Text mit einer bestimmten aus einer Mehrzahl unterschiedlicher Schriftarten angezeigt werden kann, sowie eine Methode, mit der verschiedene Schriftarten definiert werden können, indem für jede Schriftart spezielle Codewörter verwendet werden. Nicht beschrieben wird die Speicherung bestimmter Parameter eines laufenden Formats, das nicht weiter verwendet, sondern durch ein alternatives Format ersetzt wird, so daß es problemlos wiederauf gerufen werden kann, wenn es in einem späteren Stadium der Verarbeitung benötigt wird, wobei insbesondere diejenigen Parameter oder Merkmale des laufenden Formats von Interesse sind, die von denen des Alternativformats abweichen.
- Im IBM Technical Disclosure Bulletin, Volume 25, No. 2, Juli 1982, Seiten 684-689 wird ein Textverarbeitungs- und Anzeigesystem beschrieben, bei dem bestimmte Merkmale eines laufenden Formats beibehalten werden, wenn ein alternatives Format verwendet werden soll. Insbesondere wird auf die Beibehaltung von Merkmalen des laufenden Formats, wie "Einrückungstabulator", "temporärer linker Rand", "temporärer rechter Rand" usw., eingegangen. Nicht beschrieben wird die Speicherung bestimmter Parameter des laufenden Formats, das nicht mehr verwendet, so daß dieses problemlos wiederaufgerufen werden kann, wenn es in einem späteren Stadium der Verarbeitung benötigt wird, wobei insbesondere diejenigen Parameter oder Merkmale des laufenden Formats von Interesse sind, die von denen des Alternativformats abweichen.
- Die erforderliche Speicherkapazität für die Speicherung von Formatierungsparameterwerten und der Zeitaufwand des Bedieners für die Durchführung von Formatierungsänderungen könnten erheblich reduziert werden, wenn es ein Verfahren für temporäre Formatierungsänderungen gäbe, bei dem die Rückkehr zu einem vorhergehenden Format möglich wäre, ohne daß sich der Bediener hierfür die Werte dieses vorhergehenden Formats merken müßte.
- Gegenstand der vorliegenden Erfindung ist eine verbesserte Textverarbeitungseinrichtung zur Verarbeitung von Texten gemäß verschiedenen ausgewählten Textformaten.
- Die vorliegende Erfindung bezieht sich auf einen Textverarbeitungsapparat einer Bauart mit einem Mittel zum Empfangen eines Textes, der verarbeitet werden soll, einem Verarbeitungsmittel zum Verarbeiten eines empfangenen Textes entsprechend einem ausgewählten Textformat und einem Steuersystem zum Ändern des ausgewählten Formats nach Empfang eines Befehls für eine Formatänderung.
- Gemäß der Erfindung ist der Textverarbeitungsapparat dadurch gekennzeichnet, daß das Steuersystem folgendes aufweist: Mittel für eine Textformatänderung, die folgendes umfassen: Mittel zum Erfassen eines Befehls für eine Textformatänderung, um von einem laufenden Textformat zu einem alternativen Textformat zu wechseln, Mittel, die auf die Erfassung des Befehls für eine Textformatänderung ansprechen, um die Parameter des laufenden Textformats mit den Parametern des alternativen Textformats zu vergleichen, um Parameter des laufenden Textformats zu erfassen, die sich von den entsprechenden Parametern in dem alternativen Textformat unterscheiden, und Mittel zum Ändern des Betriebs des Verarbeitungsmittels so, daß dieses einen Text entsprechend dem alternativen Textformat verarbeitet, ein Speichermittel zum Speichern der Parameter des laufenden Textformats, die sich von den entsprechenden Parametern des alternativen Textformats unterscheiden, und ein Mittel für eine rückläufige Änderung eines Textformats, das folgendes aufweist: Mittel, um einen Befehl für eine rückläufige Änderung eines Textformats zu erfassen, um von dem alternativen Textformat rückläufig zu dem laufenden Textformat zu wechseln, und Mittel, die auf die Erfassung des Befehls für eine rückläufige Änderung eines Textformats zum Verwenden der gespeicherten Parameter ansprechen, um den Betrieb des Verarbeitungsmittels so zu ändern, daß dieses einen empfangenen Text entsprechend dem laufenden Textformat verarbeitet.
- Der Textverarbeitungsapparat gemäß dieser Erfindung ermöglicht die kompakte Speicherung von Anweisungen für temporäre Formatänderungen innerhalb von Textdaten. Verarbeitet und gespeichert werden nur diejenigen Parameter des laufenden Formats, die durch Anweisungen für temporäre Formatänderungen betroffen sind. Dadurch brauchen alle anderen Parameter, die unverändert bleiben, nicht berücksichtigt zu werden.
- Wenn Anweisungen für temporäre Formatänderungen spezifiziert werden, werden die laufenden Werte der zu ändernden Formatparameter gespeichert. Dies ermöglicht deren direkten und automatischen Abruf und die rückläufige Änderung, wenn die temporäre Formatänderung nicht mehr benötigt wird.
- Möglich ist dies durch die Verwendung der drei folgenden neuen Steuerbefehle innerhalb des Textdatenstroms: (a) eines Steuerbefehls "Begin Temporary Format Change" (Temporäre Formatänderung beginnen), (b) eines Steuerbefehls "End Temporary Format Change" (Temporäre Formatänderung beenden) und (c) eines Steuerbefehls "Return to Previous Format" (Zurück zum vorhergehenden Format). Die beiden ersten dieser Steuerbefehle dienen zur Begrenzung der vorzunehmenden Formatänderung und als Kennzeichnung dafür, daß es sich bei der Formatänderung, die in dem Teil des Datenstroms zwischen diesem Paar von Steuerbefehlen definiert ist, um eine temporäre Formatänderung handelt, so daß der Wert der zu ändernden Formatparameter gespeichert werden muß. Der Steuerbefehl "Return to Previous Format" signalisiert, daß die temporäre Formatänderung vorüber ist und daß die ursprünglichen Formatparameter, deren Werte gemäß der Steuerbef ehle "Begin/End Temporary Format Change" gespeichert wurden, wiederhergestellt werden sollen.
- Der Steuerbefehl "Begin Temporary Format Change" enthält einen Parameter mit der Bezeichnung "Temporary Format Identifier" (Bezeichner für temporäres Format) (ID). Die Ausführung des Steuerbefehls "Begin Temporary Format Change" veranlaßt die Reservierung von Speicherplatz für die einzelnen zu speichernden Formatparameterwerte; dem Speicherplatz wird ein Bezeichner (ID) zugeordnet. Anschließend werden die Formatierungsanweisungen, die nach dem Steuerbefehl "Begin Temporary Format Change", jedoch vor dem Steuerbefehl "End Temporary Format Change" folgen, daraufhin untersucht, welche Formatparameter geändert werden. Die Werte der Parameter für das laufende Textformat, die gemäß den Formatierungsanweisungen zwischen den Steuerbefehlen "Begin Temporary Format Change" und "End Temporary Format Change" geändert werden sollen, werden in dem durch die Formatbefehl "Begin Temporary Format Change" reservierten Speicherbereich gesichert. Nach der Speicherung der laufenden Formatparameterwerte werden die Formatierungsanweisungen ausgeführt, die sich zwischen dem Steuerbefehlspaar "Begin/End Temporary Format Change" befinden; dadurch werden die neuen Formatparameterwerte implementiert. Der Steuerbefehl "End Temporary Format Change" weist keine Parameter auf; er hat lediglich die Funktion, das Ende der Gruppe von Formatierungsanweisungen zu begrenzen, die temporär aktiviert werden sollen.
- Der Steuerbefehl "Return to Previous Format" weist drei Parameter auf: "Condition" (Bedingung), "Value" (Wert) und "Temporary Format ID" (Bezeichner für temporäres Format). Der Parameter "Condition" bezeichnet zusammen mit dem Parameter "Value", wann der Steuerbefehl ausgeführt werden soll. So kann z.B. mit dem Parameter "Condition" festgelegt werden, daß die Rückkehr zum vorhergehenden Format am Ende der aktuellen Textzeile, nach zehn Textzeilen oder nach einer Belegung von vier Zoll vertikal durch fortlaufenden formatierten Text erfolgen soll. Die Ausführung des Steuerbefehls kann - wie weiter unten beschrieben - direkt, relativ oder absolut erfolgen. Der Parameter "Temporary Format ID" gibt an, welches der gespeicherten Textformate bei Ausführung des Steuerbefehls "Return to Previous Format" wiederhergestellt werden soll.
- Zum besseren Verständnis der Erfindung wird im folgenden anhand der beigefügten Zeichnungen ein Ausführungsbeispiel beschrieben.
- Fig. 1 ist ein Flußdiagramm, das die verschiedenen Steueroperationen für den Wechsel zu alternativen Textformaten illustriert, die von dem in Fig. 8 dargestellten Apparat ausgeführt werden können.
- Fig. 2 ist ein Flußdiagramm, das den Vorgang eines Textformatwechsels gemäß den Steuerbefehlen "Begin/End Temporary Format Change" mit Hilfe des Apparates von Fig. 8 zeigt.
- Fig. 3 und 4 sind ebenfalls Flußdiagramme, die die Formatwechselvorgänge beschreiben, die gemäß der Erfassung einer Steueranweisung "Return to Previous Format" durch den Apparat von Fig. 8 erfolgen.
- Fig. 5-7 zeigen Text- und Grafikbeispiele, die die Verwendung des von dem Apparat von Fig. 8 ausgeführten Formatänderungsprozesses veranschaulichen.
- Fig. 8 zeigt ein Blockdiagramm des Textverarbeitungsapparats mit Einheiten für die Änderung des Textformats gemäß der vorliegenden Erfindung.
- Fig. 8 zeigt den Textverarbeitungsapparat gemäß der Erfindung mit einer Textverarbeitungseinheit 61 für die Verarbeitung empfangener Textdaten entsprechend einem ausgewählten Textformat. Das zum jeweiligen Zeitpunkt verwendete Textformat ist dabei als das laufende Textformat definiert. Der Apparat umfaßt ferner ein Steuersystem mit einer Einheit zum Ändern des Textformats 62, die auf den Empfang einer Formatänderungsanweisung anspricht und daraufhin Steuerbefehle zur Verwendung beim Wechsel von dem von der Verarbeitungseinheit 61 verwendeten Textformat vom laufenden Textformat zu einem alternativen Textformat generiert. Der Apparat umfaßt weiter eine Speichereinheit für Formatparameter 63, in der ausgewählte Parameter des aktuellen Textformats gespeichert werden.
- Außerdem umfaßt der Apparat eine Einheit für die rückläufige Änderung eines Textformats 64, die auf den Empfang von Befehlen zur rückläufigen Änderung anspricht und daraufhin die in der Speichereinheit 63 gespeicherten Textformatparameter verwendet, um Steuerbefehle für den Wechsel des Betriebs der Verarbeitungseinheit 61 zur Änderung des von der Verarbeitungseinheit 61 verwendeten Textformats zu generieren, so daß diese den Text wieder entsprechend dem laufenden Textformat verarbeitet.
- Zu Fig. 1: Die mit "Z" bezeichnete Routine zur Änderung des verwendeten Textformats ist in die Verarbeitung des Datenstroms durch den Apparat von Fig. 8 integriert. Dabei ist folgendes zu beachten: Bisher wird die Mehrzahl der Textverarbeitungsprozesse implementiert, indem eine Art von Datenverarbeitungssystem programmiert wird; diese Prozesse können jedoch alternativ durch die entsprechende logische Schaltungskonfiguration aus dedizierten logischen Hardware-Bauelementen gemäß Fig. 8 ausgeführt werden.
- Die Routine "Z" in Fig. 1 beginnt an dem Punkt des Textverarbeitungsvorgangs, der zwischen der Erfassung von Textdaten über eine Tastatur oder ein anderes Eingabemittel und der kollektiven Speicherung dieser Daten, z.B. in einem herkömmlichen Textdatenspeicherungspuffer, liegt. Dieser Prozeß kann auch in Fällen eingesetzt werden, in denen ein zuvor generierter Textdatenstrom zu Darstellungszwecken, z.B. für die Anzeige oder zum Druck, formatiert werden soll. Das Flußdiagramm von Fig. 1 untersucht den Eingabedatenstrom auf bestimmte Steuerbefehle und veranlaßt bei Vorliegen dieser Steuerbefehle die entsprechende Verzweigung zu weiteren Routinen.
- In Block 21 von Fig. 1 wird ein Steuerbefehl im Eingabedatenstrom daraufhin geprüft, ob es sich um einen Steuerbefehl "Begin Temporary Format Change" handelt. Wenn ja, verzweigt der Vorgang zu "A" (siehe Flußdiagramm in Fig. 2). Wenn nein, wird der Steuerbefehl bei Block 22 daraufhin geprüft, ob es sich um einen Steuerbefehl "End Temporary Format Change" handelt. Ist dies der Fall, verzweigt der Vorgang zu "B" (siehe Fig. 2). Ist dies nicht der Fall, wird der Vorgang bei Block 23 fortgesetzt, bei dem der Steuerbefehl daraufhin geprüft wird, ob es sich um einen Steuerbefehl "Return to Previous Format" handelt. Wenn ja, verzweigt der Vorgang zu "C" (siehe Fig. 3). Wenn nein, wird der Vorgang mit Block 24 fortgesetzt, bei dem geprüft wird, ob ein temporäres Format aktiviert ist, wie im folgenden beschrieben. Anschließend, oder falls kein temporäres Format aktiviert ist, wird der Vorgang bei Block 26 fortgesetzt, bei dem eine Formatierungsanweisung den Inhalt des zugeordneten Formatzustands ändert.
- Wird in dem Datenstrom bei Block 2l ein Steuerbefehl "Begin Temporary Format Change" erfaßt, verzweigt der Vorgang zu Block 31 in dem in Fig. 2 dargestellten Flußdiagramm. In diesem Stadium wird mit der Umwandlung eines Datensatzes begonnen. Dieser Datensatz besteht aus den vorhandenen Werten der Formatparameter in dem laufenden Format, das durch die in den Befehlen zwischen dem Steuerbefehl "Begin Temporary Format Change" und dem Steuerbefehl "End Temporary Format Change" spezifizierten Formatänderungen verändert wird. Dabei ist besonders zu beachten, daß nur die Werte derjenigen Formatparameter des laufenden Textformats in diesem Datensatz gespeichert werden, die temporär geändert werden.
- Dieser umgewandelte Datensatz mit den Formatparameterwerten wird in einem reservierten Teil (63, Fig. 8) eines Arbeitsspeichers gespeichert, der vom eigentlichen Datenstrom getrennt ist. Bei der Umwandlung dieses Datensatzes mit Formatparameterwerten in Block 31 wird ein im Steuerbefehl "Begin Temporary Format Change" definierter Bezeichner (ID) an den Beginn des umzuwandelnden Datensatzes gesetzt. Anschließend wird bei Block 32 eine Markierung gesetzt, die darauf hinweist, daß ein Umwandlungsvorgang für einen Datensatz mit temporärem Format abläuft (Temporary Format Active). Die Setzbedingung dieser Markierung bestimmt den Pfad, der von Block 24 in Fig. 1 ausgehend genommen wird. Ist die Markierung gesetzt, wie bei Block 24 in Fig. 1 erfaßt, ist ein Vorgang "temporäres Format" aktiviert. Nachdem die Markierung gesetzt wurde, kehrt der Vorgang wieder zu "Z" am Anfang von Fig. 1 zurück, und es werden nachfolgende Befehle im Datenstrom verarbeitet.
- In diesem Beispiel wird davon ausgegangen, daß nach der vorstehend beschriebenen Verarbeitung des Steuerbefehls "Begin Temporary Format Change" als nächster Befehl der Wert eines zu ändernden Formatparameters auftritt. Je nach Systemimplementierung kann es sich hierbei z.B. um den Wert "linker Rand plus fünf Einheiten" handeln, also einen relativen Wert, oder um "linker Rand gleich 20", also einen absoluten Wert. In beiden Fällen stellt dieser Formatparameterwert keinen der Steuerbefehle dar, auf die bei den Blöcken 21, 22 und 23 geprüft wurde. Da jedoch die Markierung, die anzeigt, daß die Operation "Temporäres Format" aktiv ist, in Block 32 in Fig. 2 gesetzt wurde, wird der Pfad über Block 25 von Fig. 1 genommen. Daher wird der aktuelle Randwert vor der temporären Formatänderungsoperation in den Inhalt des durch die ID des Steuerbefehls "Begin Temporary Format Change" bezeichneten Datensatzes aufgenommen, dessen Umwandlung bei Block 31 von Fig. 2 begonnen wurde. Anschließend wird der Wert des Formatparameters des zu verwendenden Textformats in Block 26 von Fig. 1 in den neuen, temporären linken Rand geändert.
- In den nachfolgenden Befehlen, die in den Blöcken 21-23 geprüft werden, können weitere Änderungen von Formatparameterwerten spezifiziert werden. Solange der Vorgang zur temporären Formatänderung aktiv ist, sorgt Block 24 dafür, daß Block 25 in den Datenstrompfad einbezogen wird. Block 25 veranlaßt die Speicherung der laufenden Werte von temporären Formatparameteränderungen, die dem Datensatz hinzugefügt werden, der durch die ID im Steuerbefehl "Begin Temporary Format Change" bezeichnet wurde, die diesen temporären Formatparameteränderungen vorausging. In Block 26 wird dann der zugeordnete Formatzustand, der für die Verarbeitung verwendet werden soll, in den neuen Wert für den spezifizierten Formatparameter geändert.
- Nachdem alle neuen Werte für zu ändernde spezifizierte Formatparameter wie vorstehend beschrieben verarbeitet wurden, wird bei Block 22 ein Steuerbefehl "End Temporary Format Change" erfaßt, der veranlaßt, daß der Vorgang zu "B" in Fig. 2 verzweigt. An diesem Punkt wird die Umwandlung des Datensatzes, der die laufenden Formatparameterwerte enthält, die temporär geändert werden, bei Block 35 beendet. Dieser Datensatz, der die Werte der Formatparameter für das (vor der temporären Änderung) verwendete Textformat enthält, wird in einem Arbeitsspeicher des Apparats separat vom Textdatenstrom gespeichert.
- Der Vorgang wird dann bei Block 36 fortgesetzt, wo die Markierung für "Temporäres Format aktiviert" zurückgesetzt wird. Dies bedeutet für Block 24 in Fig. 1, daß nachfolgende Formatänderungen als permanente Formatänderungen interpretiert werden. Die Parameter des zugeordneten Formatzustands werden gemäß Block 26 in Fig. 1 geändert, aber die Werte der Formatparameter, die unmittelbar vor dieser permanenten Änderung vorlagen, werden nicht für eine spätere Wiederherstellung gespeichert.
- Entsprechend werden Formatänderungen, die nach Empfang eines Steuerbefehls "Begin Temporary Format Change" und vor Empfang eines Steuerbefehls "End Temporary Format Change" spezifiziert werden, als temporäre Formatänderungen verarbeitet, wobei davon ausgegangen wird, daß nachfolgend ein Steuerbefehl "Return to Previous Format" ausgegeben wird. Hierfür werden die Werte der unmittelbar vor Verarbeitung dieser temporären Formatänderungen vorliegenden Formatparameter zusammen mit der ID zur späteren Wiederherstellung gespeichert.
- Nach Verarbeitung der vorstehend beschriebenen temporären Formatänderung(en) wird dann eine Folge von Text-, Grafik- oder sonstigen Befehlen verarbeitet. Der in dem Flußdiagramm von Fig. 1 dargestellte Prozeß spricht auf diese Befehle nicht an. Schießlich soll das vorhergehende Textformat, das vor Durchführung der Formatänderungen vorlag, wieder verwendet werden. In Block 23 von Fig. 1 wird ein Steuerbefehl "Return to Previous Format" im Datenstrom erfaßt, der den Vorgang veranlaßt, zu dem in Fig. 3 beginnenden Prozeß zu verzweigen.
- Ein Steuerbefehl "Return to Previous Format" kann entweder als direkter oder als bedingter Befehl spezifiziert werden. Handelt es sich also bei Block 41 in Fig. 3 um einen direkten Steuerbefehl "Return to Previous Format", wird der Vorgang bei Block 42 fortgesetzt. Der Steuerbefehl "Return to Previous Format" muß einen Bezeichner (ID) für das vorhergehende Format enthalten, das wiederhergestellt werden soll. In diesem Beispiel wird bei Block 31 in Fig. 2 für die vorstehend beschriebenen Formatänderungen der Bezeichner "1" angegeben; in dem derzeit verarbeiteten Steuerbefehl "Return to Previous Format" wird als Bezeichner des wiederherzustellenden Formats "1" spezifiziert.
- Bei Block 42 in Fig. 3 wird daher ein Register für "Entsprechungs-IDs" mit einer "1" geladen, also dem Bezeichner (ID), der im Steuerbefehl "Return to Previous Format" angegeben ist. Bei Block 43 wird der Speicherplatz im Arbeitsspeicher, an dem die Datensätze gespeichert sind, die die vor den temporären Formatänderungen geltenden Formatparameterwerte enthalten, auf den Datensatz mit dem Bezeichner "1" durchsucht. Wird kein entsprechender Datensatz gefunden, wird der Prozeß unterbrochen, weil ein Fehler aufgetreten ist: Es wurde die Wiederherstellung eines Formats angefordert, das zuvor nicht definiert worden war. Angenommen, der Datensatz wird bei Block 44 gefunden, dann wird der Vorgang bei Block 46 fortgesetzt. Dort werden anhand des Inhalts dieses Datensatzes die Werte der Formatparameter, die durch die vorherige temporäre Formatänderung verändert wurden, die der ID "1" zugeordnet ist, rückläufig geändert. Anschließend wird bei Block 47 der Datensatz mit diesen vorher bestehenden Formatparameterwerten aus dem Arbeitsspeicher gelöscht.
- Zu Block 41 von Fig. 3: In dem Steuerbefehl "Return to Previous Format" wird die Bedingung "Zukünftig" angegeben. Da es sich hier nicht um die Bedingung "Direkt" handelt, wird bei Block 48 ein "Rückkehr aktiv"-Zähler um eins heraufgesetzt. Bei Block 49 wird dann ein Datensatz angelegt, der den Bezeichner des vorhergehenden Formats enthält, zu dem zurückgekehrt werden soll, sowie die Bedingung, bei der der Befehl ausgeführt werden soll. Dieser Datensatz wird in einem Bedingungspuffer gespeichert.
- Nach Verarbeitung von Block 47 oder 49 in Fig. 3 wird der Vorgang mit "Q" in Fig. 4 fortgesetzt. Bei Block 51 wird der "Rückkehr aktiv"-Zähler daraufhin geprüft, ob sein Inhalt größer null ist. Dies ist dann der Fall, wenn in dem Steuerbefehl "Return to Previous Format" für dessen Ausführung "zukünftige"Bedingungen angegeben wurden und diese Bedingungen noch nicht erfüllt sind.
- Das Beispiel geht davon aus, daß mindestens eine derartige "zukünftige" Bedingung angegeben wurde, so daß der "Rückkehr aktiv"-Zähler bei Block 48 in Fig. 3 heraufgesetzt wurde. Damit wird in Fig. 4 bei Block 5l der Vorgang mit Block 52 fortgesetzt, in dem jede der im Bedingungspuffer gespeicherten Bedingungen daraufhin geprüft wird, ob sie einer laufenden Bedingung im Texteditierungsprozeß entspricht. Wird eine Entsprechung für eine mit Bezug zu einem der Bezeichner im Bedingungsspeicher gespeicherte Bedingung gefunden, wird bei Block 53 der "Rückkehr aktiv"-Zähler um eins herabgesetzt und bei Block 54 das "Entsprechungs-ID"-Register mit dem Bezeichner im Bedingungspuffer geladen, der der Bedingung zugeordnet ist, die gerade erfüllt wird. Bei Block 55 wird dieser Datensatz aus dem Bedingungspuffer entfernt, und der Vorgang verzweigt zurück zu "M" in Fig. 3, um die geänderten Formatparameter mit den Werten wiederherzustellen, die vor den temporären Formatänderungen vorlagen.
- Bei Block 52 in Fig. 4 wird bei jedem Verarbeitungszyklus des Apparats - falls keine Bedingung vorliegt, die einer der im Bedingungspuffer gespeicherten Bedingungen entspricht - der Vorgang mit "Z" in Fig. 1 fortgesetzt und der nächste Befehl im Datenstrom verarbeitet. Ist bei Block 51 in Fig. 4 der "Rückkehr aktiv"-Zähler null, dann liegen keine gespeicherten Bedingungen vor, die mit aktuellen Bedingungen verglichen werden könnten, also wird der Vorgang ebenfalls mit "Z" fortgesetzt.
- Hier wurde ein sehr effizienter und speicherplatzsparender Prozeß zur Durchführung temporärer Formatänderungen in Fällen beschrieben, in denen ein Format wiederverwendet werden soll, das vor Durchführung dieser temporären Änderungen vorlag. Der Steuerbefehl "Return to Previous Format" kann entweder "Direkt" oder "Bedingt" definiert sein. Die "direkte" Rückkehr kann für das o.g. Beispiel eines Zitats verwendet werden. Das Steuerbefehlpaar "Begin/End Temporary Format Change" tritt dann im Datenstrom unmittelbar vor dem Zitattext auf, der gemäß einem anderen Textformat verarbeitet werden soll. Der Steuerbefehl "Return to Previous Format" würde unmittelbar im Anschluß an den Zitattext folgen, wie in Fig. 5 dargestellt.
- Ein verzögerter Steuerbefehl "Return to Previous Format" könnte für die Formatierung von Text verwendet werden, der um ein Bild oder ein anderes "Nichttext"-Objekt herum läuft. Bei Fig. 6 wird das Steuerbefehlspaar "Begin/End Temporary Format Change" vom Bediener am Ende der Zeile unmittelbar vor dem Bild eingefügt. Anschließend folgt der Steuerbefehl "Return to Previous Format", in dem eine Bedingung festgelegt wird, die der Länge des Bildes (vertikale Höhe), z.B. 3,8 cm, entspricht.
- Die Steuerbefehle sind so ausgelegt, daß zwei oder mehr temporäre Formatänderungen überlappen können. Fig. 7 zeigt eine bildliche Darstellung zur Verwendung überlappter Steuerbefehle für temporäre Formatänderungen. Dies ist mit diesen Steuerbefehlen möglich, da (a) nur die Werte derjenigen Formatparameter gesichert werden, die von den temporären Formatänderungen betroffen sind und die daher wiederhergestellt werden, und (b) jede temporäre Formatänderung mit einer ID gespeichert wird, so daß bei der Wiederherstellung ein individueller Zugriff möglich ist.
Claims (3)
1. Einrichtung für Textverarbeitung, die folgendes aufweist:
Mittel zum Empfangen eines Textes, der verarbeitet werden
soll,
ein Verarbeitungsmittel (61) zum Verarbeiten eines empfangenen
Textes entsprechend einem ausgewählte Textformat und
ein Steuersystem zum Ändern des ausgewählten Formats nach
Empfang eines Befehls für eine Formatänderung,
dadurch gekennzeichnet, daß das Steuersystem folgendes
besitzt:
ein Mittel (62) für eine Textformatänderung, das folgendes
aufweist: Mittel zum Erfassen eines Befehls für eine
Textformatänderung, um von einem laufenden Textformat zu einem
alternativen Textformat zu wechseln, Mittel die auf die
Erfassung des Befehls für eine Textformatänderung ansprechen,
um die Parameter des laufenden Textformats mit den Parametern
des alternativen Textformats zu vergleichen, um Parameter des
laufenden Textformats zu erfassen, die sich von den
entsprechenden Parametern in dem alternativen Textformat
unterscheiden und Mittel zum Ändern des Betriebs des
Verarbeitungsmittels so, daß dieses einen Text entsprechend dem
alternativen Textformat verarbeitet,
ein Speichermittel (63) zum Speichern der Parameter des
laufenden Textformats, die sich von den entsprechenden
Parametern des alternativen Toxtformats unterscheiden und
ein Mittel (64) für eine rückläufige Änderung eines
Textformats, das folgendes aufweist: Mittel, um einen Befehl für eine
rückläufige Änderung eines Textformats zu erfassen, um von dem
alternativen Textformat rückläufig zu dem laufenden Textformat
zu wechseln, und Mittel, die auf die Erfassung des Befehls für
eine rückläufige Änderung eines Textformats zum Verwenden der
gespeicherten Parameter ansprechen, um den Betrieb des
Verarbeitungsmittels so zu ändern, daß dieses einen empfangenen
Text entsprechend dem laufenden Textformat verarbeitet.
2. Einrichtung für Textverarbeitung nach Anspruch 1, dadurch
gekennzeichnet, daß das Mittel (63) für eine
Textformatänderung Mittel aufweist, um einen Bezeichner den Parametern
des laufenden Textformats zuordnen, die sich von den
entsprechenden Parametern des alternativen Textformats
unterscheiden und das Speichermittel (63) Mittel aufweist, um den
Bezeichner mit den Parametern zu speichern.
3. Einrichtung für Textverarbeitung nach Anspruch 2, dadurch
gekennzeichnet, daß
das Speichermittel Mittel zum Speichern einer Mehrzahl von
Sätzen von Parametern aufweist, wobei jeder Satz zu einem
unterschiedlichen Textformat in Beziehung steht und einen
jeweiligen Bezeichner entsprechend der aufeinanderfolgenden
Erfassung einer Mehrzahl von Befehlen für eine Formatänderung
aufweist und
das Mittel (64) für eine rückläufige Änderung eines
Textformats folgendes aufweist: Mittel, um ein Signai in dem Befehl
für eine rückläufige Änderung eines Textformats zu erfassen,
der einem ausgewählten der Bezeichner entspricht und Mittel,
die auf die Erfassung des Signals ansprechen, um den Betrieb
des Verarbeitungsmittels so zu ändern, daß dieses einen Text
entsprechend dem Textformat verarbeitet, welches dem
Be-Zeichner zugeordnet ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/859,600 US4831583A (en) | 1986-05-05 | 1986-05-05 | System for saving previous format parameters and using the saved format parameters and changed format parameters to format data output |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3780208D1 DE3780208D1 (de) | 1992-08-13 |
DE3780208T2 true DE3780208T2 (de) | 1993-02-11 |
Family
ID=25331306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8787303921T Expired - Fee Related DE3780208T2 (de) | 1986-05-05 | 1987-04-30 | Textverarbeitungsapparat zur verarbeitung von texten gemaess verschiedenen ausgewaehlten textformaten. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4831583A (de) |
EP (1) | EP0245041B1 (de) |
JP (1) | JPS62262173A (de) |
BR (1) | BR8701836A (de) |
CA (1) | CA1268553A (de) |
DE (1) | DE3780208T2 (de) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4894798A (en) * | 1986-06-20 | 1990-01-16 | International Business Machines Corporation | Automatic stop code insertion feature for a word processing apparatus |
US5287538A (en) * | 1986-07-15 | 1994-02-15 | Brother Kogyo Kabushiki Kaisha | Word processor for reformatting a character group by locating line feed codes and selecting the beginning and end of the text when the line feed codes cannot be located |
JPS63296163A (ja) * | 1987-05-27 | 1988-12-02 | Brother Ind Ltd | 文書処理装置 |
JP2608299B2 (ja) * | 1987-11-16 | 1997-05-07 | キヤノン株式会社 | 文書処理方法 |
DE3838740A1 (de) * | 1987-11-16 | 1989-06-01 | Canon Kk | Dokumentationsverarbeitungsanlage |
JPH01130256A (ja) * | 1987-11-16 | 1989-05-23 | Canon Inc | 文書処理装置 |
DE3844833C2 (de) * | 1987-11-16 | 1998-10-01 | Canon Kk | Dokumenterzeugungsgerät |
US5752053A (en) * | 1987-11-16 | 1998-05-12 | Canon Kabushiki Kaisha | Document processing apparatus for processing a document and associated format information |
JPH01246661A (ja) * | 1988-03-29 | 1989-10-02 | Brother Ind Ltd | ページフォーマット機能を有する文書作成装置 |
US5359708A (en) * | 1988-06-15 | 1994-10-25 | International Business Machines Corp. | Dynamic in a document processing system for dynamically locating format controls and determining formatting information in effect before and after each format control |
US5133070A (en) * | 1988-06-30 | 1992-07-21 | International Business Machines Corporation | Method of nesting and processing mixed data objects within a data stream utilizing selective environment inheritance |
GB2220511B (en) * | 1988-07-08 | 1992-04-15 | Canon Kk | Recording control apparatus |
US5131090A (en) * | 1988-08-31 | 1992-07-14 | Casio Computer Co., Ltd. | Word processor with simplified character train designation for modifying fonts |
JP2933222B2 (ja) * | 1988-09-09 | 1999-08-09 | 富士ゼロックス株式会社 | 文書処理装置 |
JPH02185475A (ja) * | 1989-01-13 | 1990-07-19 | Casio Electron Mfg Co Ltd | 印字装置 |
JPH0792796B2 (ja) * | 1989-03-30 | 1995-10-09 | ブラザー工業株式会社 | 文書作成装置 |
EP0449322B1 (de) * | 1990-03-29 | 1999-07-28 | Canon Kabushiki Kaisha | Textverarbeitungsvorrichtung mit Textformatierung |
US5426779A (en) * | 1991-09-13 | 1995-06-20 | Salient Software, Inc. | Method and apparatus for locating longest prior target string matching current string in buffer |
DE69329477T2 (de) * | 1992-06-30 | 2001-05-10 | Canon K.K., Tokio/Tokyo | Ausgabeverfahren und -gerät |
JP3453659B2 (ja) * | 1992-10-02 | 2003-10-06 | 株式会社リコー | 画像形成装置用制御装置 |
JPH06122243A (ja) * | 1992-10-13 | 1994-05-06 | Brother Ind Ltd | 印字処理装置 |
US5517635A (en) * | 1992-12-17 | 1996-05-14 | International Business Machines Corporation | System for designing an application program to be independent of I/O devices by utilizing application name, system name, and predetermined hardware specific parameters of data objects |
US6341286B1 (en) | 1998-09-30 | 2002-01-22 | Bsp International Corporation | Method and apparatus for generating and distributing reports |
US7137070B2 (en) * | 2002-06-27 | 2006-11-14 | International Business Machines Corporation | Sampling responses to communication content for use in analyzing reaction responses to other communications |
US8495503B2 (en) * | 2002-06-27 | 2013-07-23 | International Business Machines Corporation | Indicating the context of a communication |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4086660A (en) * | 1976-04-27 | 1978-04-25 | International Business Machines Corporation | Automatic format control for text printing system |
US4205922A (en) * | 1978-03-06 | 1980-06-03 | International Business Machines Corporation | Font and column format control system |
US4207011A (en) * | 1978-03-06 | 1980-06-10 | International Business Machines Corporation | Line spacing and column format control system |
JPS55124863A (en) * | 1979-03-19 | 1980-09-26 | Toshiba Corp | Print format designation system in word processor |
US4393463A (en) * | 1980-11-20 | 1983-07-12 | International Business Machines Corporation | Insertion of character set change codes in an altered text stream |
US4441829A (en) * | 1981-09-24 | 1984-04-10 | International Business Machines | Method for performing a multiple page get operation in a text processing system |
JPS5862762A (ja) * | 1981-10-08 | 1983-04-14 | Toshiba Corp | 文章デ−タ統合装置 |
US4460975A (en) * | 1982-09-17 | 1984-07-17 | Saga Data, Inc. | Easily accessible formating of computer printouts |
US4573138A (en) * | 1982-11-09 | 1986-02-25 | International Business Machines Corp. | Justifying with printer level data stream which accommodates footers and headers |
US4642792A (en) * | 1982-12-20 | 1987-02-10 | International Business Machines Corporation | Data processor printer setup through a remote display terminal |
US4594674A (en) * | 1983-02-18 | 1986-06-10 | International Business Machines Corporation | Generating and storing electronic fonts |
JPS60110032A (ja) * | 1983-11-18 | 1985-06-15 | Brother Ind Ltd | テキストメモリを備えた電子タイプライタ |
JPS6174063A (ja) * | 1984-09-18 | 1986-04-16 | Casio Comput Co Ltd | データ処理装置 |
JPS6186865A (ja) * | 1984-10-04 | 1986-05-02 | Toshiba Corp | 文書作成装置 |
US4648046A (en) * | 1984-10-24 | 1987-03-03 | International Business Machines Corporation | Editing and reflecting color display attributes of non-active profiles |
US4648047A (en) * | 1984-10-24 | 1987-03-03 | International Business Machines Corporation | Interactive operator selection of alternative implementations of printer functions |
-
1986
- 1986-05-05 US US06/859,600 patent/US4831583A/en not_active Expired - Fee Related
-
1987
- 1987-04-01 CA CA000533601A patent/CA1268553A/en not_active Expired - Fee Related
- 1987-04-03 JP JP62081368A patent/JPS62262173A/ja active Granted
- 1987-04-15 BR BR8701836A patent/BR8701836A/pt not_active IP Right Cessation
- 1987-04-30 EP EP87303921A patent/EP0245041B1/de not_active Expired - Lifetime
- 1987-04-30 DE DE8787303921T patent/DE3780208T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
BR8701836A (pt) | 1988-02-09 |
DE3780208D1 (de) | 1992-08-13 |
EP0245041A3 (en) | 1989-08-09 |
EP0245041A2 (de) | 1987-11-11 |
EP0245041B1 (de) | 1992-07-08 |
US4831583A (en) | 1989-05-16 |
JPS62262173A (ja) | 1987-11-14 |
JPH0525342B2 (de) | 1993-04-12 |
CA1268553A (en) | 1990-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3780208T2 (de) | Textverarbeitungsapparat zur verarbeitung von texten gemaess verschiedenen ausgewaehlten textformaten. | |
DE69522854T2 (de) | Verfahren und Gerät zum Editieren von Multimediadaten | |
DE3346816C2 (de) | ||
DE3587501T3 (de) | Gerät, Verfahren und Struktur zur Umwandlung eines Dokumentes einer Struktur in ein Dokument einer anderen Struktur. | |
DE69803304T2 (de) | Hardwareunterstütztes verfahren zum kontextwechsel | |
DE3606869C2 (de) | Vorrichtung zur Datenkompression | |
DE4334524C2 (de) | Dokumentverarbeitungsvorrichtung | |
DE3382752T2 (de) | Verfahren zur Umwandlung einer ersten editierbaren Dokumentenform, vorbereitet von einem Stapeltextverarbeitungssystem, in eine zweite editierbare Dokumentenform, die für ein Interaktiv- oder Stapeltextverarbeitungssystem brauchbar ist. | |
DE69225760T2 (de) | Methode und System zur Unterstützung von mehrfacher Textselektion und "swipe and type" Operationen auf einer Rechneranzeige | |
DE3151745A1 (de) | Multitasking-datenverarbeitungsanlage | |
DE1499182C3 (de) | Datenspeichersystem | |
DE3688191T2 (de) | Editor für virtuelle Maschinen. | |
DE69410680T2 (de) | Programmierbarer Kontroller und Verfahren zur Durchführung von SFC-Programmen mit Hilfe eines programmierbaren Kontrollers | |
DE3625390A1 (de) | Graphisches anzeigesystem mit beliebiger rberlappung von bildausschnitten | |
DE2431379A1 (de) | Datenverarbeitungseinrichtung | |
DE3586646T2 (de) | Bildanzeigegeraet. | |
DE3786711T2 (de) | Textverarbeitungssystem. | |
DE2723523A1 (de) | Kompression und dekompression von gespeicherten digitaldaten | |
DE68924719T2 (de) | Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung. | |
DE2801610A1 (de) | Verfahren zum definieren von anfangswerten fuer die textverarbeitung | |
DE3228405A1 (de) | Emulator zur erzeugung einer folge von steuersignalen | |
DE68913373T2 (de) | Verfahren zur gleichzeitigen Dateneingabe in überlappende Fenster. | |
DE60002618T2 (de) | Verfahren und Analysewerkzeug zur Fehlerortung in einem Rechner | |
DE3885133T2 (de) | Anzeigeeinrichtung mit einem Schriftartspeicher für Symbole. | |
DE68926425T2 (de) | Verfahren zur Behandlung von Markierungselementen eines Dokumentendatenstroms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |