-
Diese Erfindung bezieht sich auf Datenverarbeitungssysteme im
allgemeinen und insbesondere auf ein System und eine Technik, in
denen Text, Vektorgrafiken und Rasterbuddaten in ein
Standarddarstellungsformat formatiert werden, das anschließend von
mehreren Anwendungen und Darstellungseinheiten gemeinsam benutzt
wird.
Hintergrund der Erfindung
-
Innerhalb herkömmlicher Informationsverarbeitungssysteme kann
die Information von einer Anwendung in ein Darstellungsformat
formatiert werden, das ein Datenstrom genannt wird. Wie hierin
verwendet, ist ein Datenstrom eine Gruppe strukturierter Felder
und wird durch die Syntax und Semantik der strukturierten Felder
definiert. Der Darstellungsdatenstrom kann dann auf einem
Bildschirm, Plotter oder Drucker dargestellt werden, er kann auf
einem Speichermedium gespeichert oder elektronisch zu einem
anderen Computersystem weitergeleitet werden, wo er gespeichert,
verarbeitet oder von den lokalen Anwendungen oder Einheiten
dargestellt werden kann. In einer Umgebung, in der die
Darstellungsdaten von mehreren Anwendungen und Systemen gemeinsam
benutzt oder auf mehreren verschiedenen Darstellungseinheiten
dargestellt werden sollen, ist es eine Anforderung, daß
resultierende Darstellungen identisch aussehen, ungeachtet der
Einheit oder Anwendung, die Sie verarbeitet. Ein Datenstrom, der
diese Anforderung unterstützt, wird gerätenunabhängig genannt.
Der geräteunabhängige Datenstrom stellt sicher, daß die
Informationen von allen empfangenden Anwendungen und Einheiten mit
voraussagbaren
Ergebnissen ungeachtet der empfangenden Anwendung
oder Einheit zu verarbeiten sind.
-
Eine andere Anforderung an das Definieren gemeinsam benutzter
Darstellungsdatenströme besteht darin, den Inhalt auf einen
kleinen allgemeinen zu Satz reduzieren. Zum Beispiel können
Textdarstellungen in einem Vektorgrafikdatenstrom unter Nutzung
der Zeichenkettengrafikkommandos dargestellt werden. Es ist
nicht notwendig, sowohl einen Datenstrom für Darstellungstext
als auch einen Datenstrom für Darstellungsvektorgrafiken zu
verwenden, wenn es möglich ist, eine einzige Datenstromdefinition
zu verwenden, die beide Definitionen unterstützt. Der Nutzen
dieser kombinierten Definition besteht in einer Verringerung der
Codemenge, die durch empfangende Anwendungen und
Darstellungseinheiten zum Interpretieren des Darstellungsdatenstroms
erforderlich ist. Dies kann die Entwicklungs-, Wartungs- und
Produktkosten verringern.
-
Beispiele des geräteunabhängigen Datenstroms mit verringertem
Inhalt sind International Standard Computer Graphics Metafile
(CGM) und IBM Graphics Object Content Architecture (GOCA).
Implementierungen wie z.B. Presentation Manager von IBM und Post-
Script von Adobe zeigen, daß die Definition von Text- und
Rasterbilddaten in einer Grafikbasis untergebracht werden kann.
Eine Anwendung erzeugt ein Beispiel des Datenstroms unter
Verwendung eines begrenzten Satzes der verfügbaren Befehle. Die
verwendeten Einschränkungen basieren auf dem Fokus der
generierenden Anwendung. Wie oben betont, kann eine Textanwendung die
Grafikdatenstrom-Kommandos verwenden, um ihre Ausgabe
darzustellen, indem Sie den Satz der verwendeten Kommandos auf die
begrenzt, die benötigt werden, um den Text darzustellen (d.h.
Zeichenkettenkommandos).
-
Jedoch weisen Datenströme, die geräteunabhängig und zur
Darstellung
mit verringertem Inhalt geeignet sind, Nachteile auf. Diese
Datenströme neigen dazu, der kleinste gemeinsame Nenner der
Funktionen zu sein, die von allen bestehenden Anwendungen oder
Einheiten unterstützt werden. Daher ist die in dem Datenstrom
beschriebene Funktion auf nur die Funktionen beschränkt, die
gemeinsam von allen Anwendungen und Einheiten unterstützt
werden. Dies unterstützt nicht die Geräteanpassungsfähigkeit, das
heißt die Fähigkeit, die gerätespezifische Leistung und
funktionelle Erweiterungen zu unterstützen. Das Ergebnis sind
verringerter Durchsatz, verringerte Darstellungsflexibilität und
-qualität oder das Absinken der gesamten Leistung.
-
Betrachtet wird das früher verwendete Beispiel des Darstellens
von Anzeigetext in einem Vektorgrafikdatenstrom unter Verwendung
von Zeichenkettengrafikkommandos. Es ist offensichtlich, daß
eine Nurtext-Darstellungsseite mit diesen grafischen Kommandos
dargestellt werden kann. Da Sie jedoch in einem Grafikdatenstrom
dargestellt ist, ist sich der Empfänger nicht bewußt, daß Sie
von einer Textfunktion erzeugt wurde. Der Empfänger muß den
Datenstrom als Grafik verarbeiten. Das Ergebnis wird eine genaue
Darstellung der Originaldarstellung der Textanwendung sein, es
kann jedoch ein Zusatzaufwand mit dem Verarbeiten dieser
Kommandos als Grafik verbunden gewesen sein. Zum Beispiel gibt es
viele Druckeinheiten, die sowohl Text- als auch Grafikmodi
aufweisen. Infolge der Einfachheit der Verarbeitung der
eingeschränkten Textfunktionen, verglichen mit den inhaltsreicheren
Grafikfunktionen, sind diese Drucker im Textmodus schneller als im
Grafikmodus. Ohne Kenntnis des Bezugs des Erzeugers kann der
geeignete Modus nicht ausgewählt werden.
-
Es wurde vorgeschlagen, daß die empfangende Anwendung oder
Einheit den eingehenden Darstellungsdatenstrom befragt, um
festzustellen, ob bestimmte Einschränkungen bei der Erzeugung des
Darstellungsdatenstroms verwendet wurden, die zum Vorteil der
empfangenden Anwendung oder Einheit verwendet werden können.
Falls z.B. eine Seite der Darstellungsdaten nur
Zeichenkettenkommandos enthält, dann kann für die Ausgabe dieser Seite der
Textmodus angenommen und somit die Leistung erhöht werden.
Dieser Ansatz könnte außerdem erweitert werden, so daß Blöcke von
Zeichenketteninformationen, die in einer Grafikdarstellung einer
einzelnen Seite enthalten sind, isoliert und diese Blöcke in dem
Textmodus mit höherer Leistung dargestellt werden könnten.
Dieser Probieransatz ist als ein heuristisches Verfahren bekannt
und zeigt die folgenden Nachteile.
-
Erstens ist die Textinformation nicht nur auf Zeichendaten
beschränkt. Zum Beispiel können unterstrichene Textzeichen unter
Verwendung von Grafikzeichenkommandos spezifiziert werden, die
mit entsprechender Beziehung zu den Zeichenkettenkommandos
ausgegeben werden. Diese und andere eingeschränkte Kombinationen
von Grafikdaten durch erzeugende Anwendungen verkomplizieren das
heuristische Verfahren, indem Sie Wissen und eine Möglichkeit
zum Behandeln mehrfacher Kommandokombinationen erfordern.
-
Zweitens können wegen der Kompliziertheit von Darstellungen
zusammengesetzter Dokumente Fälle auftreten, bei denen die
Einschränkung bezüglich der Nutzung der Grafikdatenstrom-Kommandos
nicht garantiert werden kann und die Ergebnisse des
heuristischen Verfahrens nicht voraussagbar sind. Zum Beispiel kann ein
Teil eines Datenstroms auf Zeichenkettenkommandos begrenzt sein
und daher kann festgestellt werden, daß es ein Textblock ist.
Ein verknüpfter Teil desselben Datenstroms kann
Zeichenkettenkommandos aufweisen, die über eine grafische Zeichnung gelegt
wurden. Da dieser letztere Anteil Zeichenketten ebenso wie
andere Grafikkommandos enthält, welche die Hintergrundzeichnung
darstellen, erfüllt er nicht die eingeschränkte Definition des
heuristischen Verfahrens und wird daher nicht als Text behandelt
werden. Dies wird nicht zu maximaler Leistung führen, da ein
Anteil der Darstellung, der im Textmodus verarbeitet werden
könnte, nicht so verarbeitet wird. Außerdem können verschiedene
Schriftdrehungs- und Schriftersetzungsregeln zwischen Text- und
Grafikmodi in Darstellungseinheiten vorliegen, die weiterhin die
eingeschränkten Definitionsanforderungen eines heuristischen
Verfahrens ungültig machen. Dieses Problem wird weiter
verschlimmert, wenn verknüpfte Zeichenkettendaten in unverknüpften
Schriftbildern oder -orientierungen dargestellt werden können.
Daher gibt es gültige Kombinationen von Grafikkommandos, die
einen heuristischen Ansatz ungültig machen. Dies führt dazu, daß
der heuristische Algorithmus ungenau wird, oder es erhöht die
Kosten der heuristischen Implementierung so sehr, daß Sie nicht
durchführbar ist.
-
Drittens erfordert der heuristische Ansatz, daß der
Darstellungsdatenstrom vorverarbeitet wird, um festzustellen, wo
Einschränkungen des Erzeugers angewendet wurden. Dies ist nur
für Geräte möglich, die eine Seitenpuffermöglichkeit haben, um
den eingehenden Darstellungsdatenstrom zu speichern, während der
heuristische Algorithmus verarbeitet wird. Daher kännen
Einheiten ohne Seitenpufferung den heuristischen Ansatz nicht
unterstützen.
-
Abschließend gesagt, ist der heuristische Ansatz kompliziert,
hat fragwürdige Genauigkeit und ist nicht in alle Einheiten- und
Anwendungsklassen zu implementieren. Benötigt wird eine Technik,
durch die eine erzeugende Anwendung explizit kennzeichnen kann,
daß die Darstellungsdaten oder Segmente der Darstellungsdaten
unter Nutzung eines speziellen Prozesses erzeugt wurden. Die
sich ergebende eingeschränkte Folge der Inhalte des
Darstellungsdatenstroms könnte durch ein gerätespezifisches
Verfahren oder eine Funktion ohne Verlust der Integrität der
Darstellung ausgeführt werden.
Zusammenfassung der Erfindung
-
Diese Erfindung, wie in Anspruch 1 definiert, bezieht sich auf
ein Verfahren zum Bereitstellen von Kommandos (Hinweisen) in
einem grafischen Darstellungsdatenstrom, wie z.B. IBM Graphics
Object Content Architecture, das einem Generierungsprozeß
gestattet, zu kennzeichnen, wo bestimmte Einschränkungen bei der
Generierung spezieller Fälle des Darstellungsdatenstroms
verwendet wurden. Diese Kommandos (Hinweise) modifizieren nicht die
Beschreibung der Darstellung. Statt dessen liefern Sie einem
Empfänger ein Mittel, um explizit festzustellen, wo durch den
Generierungsprozeß Einschränkungen verwendet wurden, und somit,
welcher aus einem Satz von Darstellungsprozessen effektiv auf
den Darstellungsdatenstrom angewendet werden kann, um die
höchste Leistung und die größte Genauigkeit in Verbindung mit der
Verarbeitung der Darstellungsdaten zu sichern.
-
Ein Anfang-Datenmerkmale-Kommando und ein Ende-Datenmerkmale-
Kommando werden in dem Darstellungsdatenstrom während des
Generierungsprozesses bereitgestellt. Die Anfang-Datenmerkmale- und
Ende-Datenmerkmale-Kommandos werden in dem
Darstellungsdatenstrom angeordnet, um den Teil des Datenstroms abzugrenzen, der
ein spezielles Merkmal aufweist. Jedes
Anfang-Datenmerkmale-Kommando und Ende-Datenmerkmale-Kommando wird mit einem
Kennzeichnungsfeld (ID-Feld) versehen. Das ID-Feld wird verwendet, um den
speziellen Prozeß zu definieren, der zum Erzeugen des begrenzten
Anteils des Datenstroms verwendet wird. Die empfangende
Anwendung oder Einheit (Empfänger) kann den Darstellungsprozeß
modifizieren, falls Sie ein spezielles Anfang-Datenmerkmale-Kommando
erkennt. Der Modifikationsprozeß wird andauern, bis das
zugeordnete Ende-Datenmerkmale-Kommando angetroffen wird. Eine
Empfangseinheit kann die Anfang-Datenmerkmale- und Ende-
Datenmerkmale-Kommandos ignorieren und sicher sein, daß die sich
ergebende Darstellung genau und entsprechend der Festlegung des
Erzeugers sein wird. Die Kommandos beseitigen den Bedarf nach
Heuristiken, weil Sie explizit kennzeichnen, wo
Erzeugereinschränkungen angewendet wurden. Zusätzlich wird
Geräteunabhängigkeit erreicht, weil die Kommandos keinen speziellen Prozeß
oder eine Gerätefunktion kennzeichnen. Weiterhin wird eine
Geräteanpassungsfähigkeit erreicht, weil die Kommandos dem
empfangenden Prozeß gestatten, den Darstellungsprozeß zu ändern, um
gerätespezifische Funktionalität zu berücksichtigen.
-
Die Anfang-Datenmerkmale- und Ende-Datenmerkmale-Kommandos
verändern die sich ergebende Darstellungsansicht nicht. Ein Prozeß,
der keine Hinweise unterstützt, wird dieselbe Ausgabe erzeugen,
wie ein Prozeß, der alle und jeden Hinweis unterstützt. Der
Unterschied zwischen diesen zwei Prozessen wird in der
Geschwindigkeit und der Qualität bestehen, mit denen die Darstellung an
der Ausgabeeinheit erzeugt wird.
-
Die Unterstützung von Anfang-Datenmerkmale- und Ende-
Datenmerkmale-Kommandos ist wahlfrei, da sich dieselbe
physikalische Darstellung mit oder ohne Unterstützung ergeben wird. Die
Unterstützung durch eine Empfangseinheit ist abhängig von den
Fähigkeiten dieser Einheit, ihren Darstellungsprozeß basierend
auf den Erzeugungseinschränkungen anzupassen, die durch die
Anfang-Datenmerkmale- und Ende-Datenmerkmale-Kommandos
gekennzeichnet sind und durch Sie begrenzt werden.
-
Die ID der Anfang-Datenmerkmale- und
Ende-Datenmerkmale-Kommandos ermöglicht Flexibilität beim Zuordnen von Hinweisen für die
Interpretation des Datenstroms. Ein Verzeichnis der IDs wird
vorausgesetzt. Wenn neue Erzeuger neue Einschränkungen am
Ausgabedatenstrom feststellen und neue Einheiten Wege finden, sich
an diese Einschränkungen anzupassen, können Anfang-
Datenmerkmale-und Ende-Datenmerkmale-Kommandos mit neuen IDs
durch den Erzeuger hinzugefügt werden. Bestehende Einheiten wer-
den diese neuen Anfang/Ende-Datenmerkmale ignorieren. Die
Darstellungsergebnisse werden identisch sein, nur Ausführung und
Qualität werden beeinflußt.
Kurze Beschreibung der Zeichnungen
-
Figur 1 ist eine Darstellung der Anzeige, die von einem
Textprozessor erzeugt wurde.
-
Figur 2 ist eine Darstellung des Darstellungsdatenstroms, der
von dem Textprozessor unter Nutzung der Anfang/Ende-
Datenmerkmale-Kommandos erzeugt wurde.
-
Figur 3 ist ein Flußdiagramm des Generierungsprozesses eines
Anfang/Ende-Datenmerkmale-Kommandos.
-
Figur 4 ist eine Fortsetzung des Flußdiagramms des
Generierungsprozesses von Figur 3.
-
Figur 5 ist ein Flußdiagramm des Empfangsprozesses eines
Anfang/Ende-Datenmerkmale-Kommandos.
-
Figur 6 ist eine Fortsetzung des Flußdiagramms des
Empfangsprozesses von Figur 5.
-
Figur 7 ist eine Fortsetzung des Flußdiagramms des
Empfangsprozesses von Figur 6.
Ausführliche Beschreibung
-
In einer Textverarbeitungsanwendung gibt es eine Anforderung,
die Ergebnisse der Textverarbeitungsanwendung unter Verwendung
eines grafikbasierten Darstellungsdatenstroms, wie z.B. IBM
Graphics
Object Content Architecture, darzustellen. Es ist eine
weitere Anforderung, daß die Textverarbeitungsanwendung nur eine
Untergruppe der Grafikkommandos benutzt, die in dem Datenstrom
verfügbar sind. Die Textverarbeitungsanwendung hat drei
Funktionen; Sie stellt Textinformationen dar, Sie kann
Textinformationen durch Unterstreichen hervorheben und Sie kann
Textinformationen durch Zeichnen eines Rahmens hervorheben. Text wird durch
Zeichenkettenkommandos dargestellt und Informationen zum
Unterstreichen werden durch Grafiklinienkommandos dargestellt, die
geeignet unter dem zu unterstreichenden Text angeordnet sind.
Die Rahmenfunktion wird in dem Datenstrom wieder unter Benutzung
von Grafiklinienkommandos dargestellt, die in Beziehung zu den
zugeordneten Zeichenkettenkommandos geeignet angeordnet sind.
Ein Beispiel einer Ausgabe, die von diesem Textprozessor erzeugt
werden kann, wird in Figur 1 gezeigt.
-
Es wird festgestellt, daß es drei Druckerklassen gibt, welche
die Ausgabe des Textprozessors empfangen werden. Die
Druckerklasse 'A' unterstützt einen Grafikmodus und einen
Hochleistungstextmodus. Die Druckerklasse 'B' weist Grafik- und
Textmodi auf und stellt zusätzlich eine Unterstreichungsfunktion als
einen integralen Bestandteil der Schriftdefinition des Druckers
bereit. Schließlich weist die Druckerklasse 'C' nur einen
Crafikmodus auf. Um maximale Leistung und Qualität zu erreichen,
ist es wünschenswert, daß Drucker der Klasse 'A' zur
Verarbeitung von Zeichenkettenkommandos in den Textmodus umschalten,
Grafiklinienkommandos aber als eine Funktion des Crafikmodus
verarbeiten. Es ist weiterhin wünschenswert, daß Drucker der
Klasse 'B' die Zeichenkettenkommandos und die
Grafiklinienkommandos, die dem Unterstreichen zugeordnet sind, im Textmodus
verarbeiten. Es ist weiterhin wünschenswert, daß die Ausgabe des
Textprozessors 'wie vorhanden' durch Drucker der Klasse 'C'
verarbeitet wird.
-
Figur 2 zeigt den Datenstrom, den der Textprozeß unter
Verwendung der Anfang/Ende-Datenmerkmale erzeugen kann, um Anteile
abzugrenzen, die einen eingeschränkten Satz von Grafikkommandos
und Kommandofolgen verwenden. In Figur 2 ist der Datenstrom
symbolisch in vom Menschen lesbarer Form dargestellt. Der
Datenstrom ist zwischen den viereckigen Klammern enthalten []. Die
einzelnen Kommandos des Datenstroms sind innerhalb der runden
Klammern () enthalten. Parameter der Kommandos sind innerhalb
der geschweiften Klammern {} enthalten. Figur 2 beschreibt den
Darstellungsdatenstrom zur Darstellung der Textanzeige in Figur
1.
-
Der Datenstrom beginnt mit einem Anfang-Datenmerkmale-Kommando
mit einer ID von {Text}. Dieses Kommando wird von dem
Textprozessor erzeugt, da er aus internen Steuerstrukturen erkennt, daß
der nachfolgende Datenstrominhalt auf die Kommandos und
Kommandofolgen eingeschränkt ist, die Textdaten darstellen. Der
Textprozessor erzeugt dann ein Zeichenkettenkommando an der ersten
Textdarstellung an Position {x=1,y=l}. Dieses Kommando
kennzeichnet die Zeichen für die erste Textzeile. Das nächste von
dem Textprozessor erzeugte Kommando ist ebenfalls ein
Zeichenkettenkommando. Es kennzeichnet die Textzeichen, die am Anfang
der zweiten Zeile der Ausgabe {x=1,y=3} auftreten. Der
Textprozessor erkennt aus internen Steuerstrukturen, daß das letzte
Wort der zweiten Zeile unterstrichen ist. Daher erzeugt er einen
Anfang-Datenmerkmale-Kommando-Auftrag der ID {Unterstreichen}.
Darauffolgt ein Zeichenkettenauftrag, der die zu
unterstreichenden Zeichen darstellt. Schließlich wird ein
Grafiklinienauftrag erzeugt, der kennzeichnet, daß eine Linie zwischen Punkten
gezeichnet werden soll, die unter der Position der Zeichen
ausgerichtet sind, die in dem vorherigen Zeichenkettenkommando
gekennzeichnet wurden. Nachdem alle Elemente der
Unterstreichungsfolge in grafischen Ausdrücken spezifiziert wurden, erzeugt der
Textprozessor ein Ende-Datenmerkmale-Kommando der ID
{Unterstreichen}.
Das nächste Kommando ist ein Zeichenkettenkommando,
das die Zeichen der dritten Zeile der Textdarstellung angibt.
Darauffolgt ein Ende-Datenmerkmale-Kommando der ID {Text}. Dies
kennzeichnet, daß der spezielle Auftrag für Textdaten beendet
ist. Darauffolgen die Grafiklinienkommandos, welche die
Grafikliniensegmente kennzeichnen, welche die Darstellung des
Hervorhebens durch Einrahmung in Figur 1 beschrieben. Dies beendet
den Beispieldatenstrom.
-
Figuren 3 und 4 zeigen die Flußdiagramme für die Generierung des
Datenstroms in Figur 2. Diese Figuren stellen eine
Steuerprozeßroutine dar, die Zugriff auf das interne Format des
Textprozessors hat und die wiederum die Merkmale dieses internen Formats
testet und einen grafischen Darstellungsdatenstrom erzeugt.
Beginnend mit Block 31 in Figur 3 wurde ein Textprozessor durch
eine Anwenderschnittstelle oder ein anderes Anforderungsmittel
aufgefordert, einen grafischen Darstellungsdatenstrom für die
Informationen zu erzeugen, die durch Tastenbetätigungen oder
andere Mittel erfaßt wurden. Die Informationen sind in einem
internen Format enthalten, das dem Textprozessor bekannt ist. In
Block 31 wird ein Anteil des internen Formates von dem
Textprozessor geprüft, um festzustellen, ob der Datenstrom in einer der
vordefinierten Untergruppen für Text oder Unterstreichung
erzeugt werden kann. Sobald die Merkmale des Anteils des internen
Formates festgestellt sind, prüft der Prozeß in Block 32, ob die
Unterstreichungs- oder Textuntergruppe vorher gekennzeichnet
wurde und zur Zeit erzeugt wird. Im Fall eines
Anfangsinitialisierens des Prozesses wird diese Bedingung nicht erfüllt und die
Steuerung geht zu Block 34. In Block 34 werden die Ergebnisse
der Analyse in Block 31 geprüft. Falls festgestellt wird, daß
das interne Format den Texttyp unterstützt, wird an Block 35 das
Anfang-Datenmerkmale-Kommando mit der ID von {Text} in den
grafischen Datenstrom eingefügt und der Kontrollfluß geht zu Block
37, wo die grafischen Kommandos, die das interne Format
darstellen,
in den grafischen Datenstrom eingefügt werden. Falls an
Block 34 festgestellt wird, daß das interne Format den
Unterstreichungsmodus unterstützt, wird an Block 36 das Anfang-
Datenmerkmale-Kommando mit der ID von {Unterstreichen} in den
grafischen Datenstrom eingefügt und der Kontrollfluß geht zu
Block 37, wo die grafischen Kommandos, die das interne Format
darstellen, in den grafischen Datenstrom eingefügt werden. Falls
an Block 34 festgestellt wird, daß weder Text- noch
Unterstreichungsmodi von den internen Daten angezeigt werden, geht der
Kontrollfluß direkt zu Block 37, wo die grafischen Kommandos,
die das interne Format darstellen, in den grafischen Datenstrom
eingefügt werden. Daher wird der grafische Datenstrom mit
Anfang-Datenmerkmale-Kommandos wie erforderlich erzeugt. Folgt
man der Generierung des grafischen Datenstroms in Block 37,
kehrt der Kontrollfluß zu Block 31 zurück, wo ein anderer Anteil
des internen Datenstroms analysiert wird.
-
Falls an Block 32 festgestellt wird, daß die
Unterstreichungsoder Textuntergruppe des grafischen Datenstroms zur Zeit erzeugt
wird, wie in Block 34 erstellt, dann geht der Prozeß zu Figur 4,
Block 41. An Block 41 werden die Ergebnisse der Analyse in Block
31 geprüft. Falls festgestellt wird, daß der nächste Anteil des
internen Formates im Unterstreichungsmodus fortfährt, geht der
Kontrollfluß zu Block 43. An Block 43 werden die Ergebnisse der
Analyse in Block 31 geprüft. Falls festgestellt wird, daß der
nächste Anteil des internen Formates im Textmodus fortfährt,
geht der Kontrollfluß zu Block 45, der die Steuerung zu Figur 3,
Block 37, zurücksendet, wo die grafischen Kommandos, die das
interne Format darstellen, in den grafischen Datenstrom
eingefügt werden. Falls an Block 41 festgestellt wird, daß das
interne Format nicht länger einen Unterstreichungsmodus erfordert,
wird an Block 42 das Ende-Datenmerkmale-Kommando der ID
{Unterstreichen} in den grafischen Datenstrom eingefügt und der
Kontrollfluß geht an Block 43. Falls an Block 43 festgestellt wird,
daß das interne Format nicht länger einen Textmodus erfordert,
wird an Block 44 das Ende-Datenmerkmale-Kommando der ID {Text}
in den grafischen Datenstrom eingefügt und der Kontrollfluß geht
an Block 45. Wie vorher gibt Block 45 die Steuerung zurück an
Figur 3, Block 37, wo die grafischen Kommandos, die das interne
Format darstellen, in den grafischen Datenstrom eingefügt
werden. Somit wird der grafische Datenstrom mit Ende-Datenmerkmale-
Kommandos wie erforderlich erzeugt. Nach der Generierung des
grafischen Datenstroms in Block 37 kehrt der Kontrollfluß zu
Block 31 zurück, wo ein anderer Anteil des internen Datenstroms
analysiert wird. Dieser Zyklus dauert an, bis alle Anteile des
internen Formats analysiert worden sind.
-
Die Figuren 5 bis 7 zeigen die Flußdiagramme für die
Interpretation des Datenstroms in Figur 2. Diese Figuren stellen eine
Steuerprozeßroutine dar, die Zugriff auf den grafischen
Darstellungsdatenstrom hat, der durch den in den Figuren 3 und 4
gezeigten Prozeß erzeugt wurde und die wiederum die Merkmale
dieses Datenstroms testet und ein sichtbares Ergebnis durch einen
Zeichenprozeß erzeugt, der typisch für eine vektorgrafische
Dateninterpretation ist. Beginnend in Figur 5 erfolgt an Block 61
eine Feststellung der Merkmale der Einheit, auf der die
Darstellung, die in dem Datenstrom beschrieben wird, angesehen werden
soll. Falls die Einheit besondere Verarbeitungsmodi nicht
unterstützt, wie im Fall von Druckern der Klasse 'C', geht der
Kontrollfluß weiter zu Block 62. An Block 62 wird aus dem
Datenstrom ein Kommando extrahiert. An Block 63 wird das Kommando
geprüft, um festzustellen, ob es ein Anfang- oder ein Ende-
Datenmerkmale-Kommando ist. Falls es keines davon ist, wird an
Block 65 der Zeichenprozeß aufgerufen, um das Grafikkommando
auszuführen, und der Kontrollfluß geht zu Block 66. Falls das
Kommando ein Anfang- oder Ende-Datenmerkmale-Kommando ist, wird
dieses Kommando an Block 64 ignoriert, da es keine Wirkung auf
das Gerät der Klasse 'C' hat, und der Kontrollfluß geht zu Block
66. An Block 66 wird der Datenstrom abgefragt, um festzustellen,
ob das letzte Kommando verarbeitet wurde. Falls das letzte
Kommando verarbeitet wurde, ist der Prozeß abgeschlossen. Falls
nicht, kehrt der Kontrollfluß zurück zu Block 62, wo das nächste
Kommando in dem Datenstrom verarbeitet wird. Daher steht ein
Prozeß zur Verfügung, um die Anfang/Ende-Datenmerkmale-Kommandos
zu ignorieren.
-
Falls in Block 61 festgestellt wurde, daß eine Empfangseinheit
besondere Verarbeitungsmodi hat, geht der Kontrollfluß zu Figur
6. In Figur 6, Block 72, wird ein Kommando aus dem Datenstrom
extrahiert. An Block 73 wird das Kommando geprüft, um
festzustellen, ob das Kommando ein Anfang-Datenmerkmale-Kommando ist.
Falls ja, wird an Block 74 die ID des
Anfang-Datenmerkmale-Kommandos festgestellt. Falls Sie vom Typ (Text} ist, geht die
Steuerung an Block 75, wo festgestellt wird, ob die aktuelle
Einheit einen Textmodus unterstützt. Falls nicht, geht der
Kontrollfluß zu Block 71, wo der Datenstrom abgefragt wird, um
festzustellen, ob das letzte Kommando verarbeitet wurde. Falls
an Block 75 festgestellt wird, daß die Einheit den Textmodus
unterstützt, wird an Block 76 ein Indikator gesetzt, der
anzeigt, daß in den Textmodus eingetreten wurde, und der
Kontrollfluß geht zu Block 71. Falls an Block 74 festgestellt wird, daß
der Typ {Unterstreichen} ist, geht der Kontrollfluß zu Block 77
weiter. Falls an Block 77 festgestellt wird, daß die Einheit
einen Unterstreichungsmodus nicht unterstützt, geht der
Kontrollfluß zu Block 71. Dies wäre der Kontrollfluß für Drucker
der Klasse 'A', da diese Klasse einen Unterstreichungsmodus
nicht unterstützt. Falls an Block 77 festgestellt wird, daß die
Einheit einen Unterstreichungsmodus unterstützt, wird an Block
78 ein Indikator gesetzt, der anzeigt, daß in den
Unterstreichungsmodus eingetreten wurde, und der Kontrollfluß geht an
Block 71. Dies wäre der Kontrollfluß für Drucker der Klasse 'B',
da diese Klasse einen Unterstreichungsmodus unterstützt. An
Block 71 wird der Datenstrom abgefragt, um festzustellen, ob das
letzte Kommando verarbeitet wurde. Falls ja&sub1; ist der Prozeß
abgeschlossen. Falls nicht, kehrt der Kontrollfluß zurück zu Block
72, wo das nächste Kommando in dem Datenstrom verarbeitet wird.
Somit steht ein Prozeß zur Verfügung, um Verarbeitungsmodi
abhängig von den Verarbeitungsmöglichkeiten der
Verarbeitungseinheit und dem Inhalt des Datenstroms zu setzen.
-
Falls an Block 73 festgestellt wird, daß das geprüfte Kommando
kein Anfang-Datenmerkmale-Kommando ist, geht der Kontrollfluß zu
Block 79. Falls an Block 79 festgestellt wird, daß das Kommando
ein Ende-Datenmerkmale-Kommando ist, dann wird an Block 701 der
Modus, der durch die ID des Ende-Datenmerkmale-Kommandos
bestimmt wird, zurückgesetzt und der Kontrollfluß geht zu Block
71. Falls an Block 79 das Kommando kein
Ende-Datenmerkmale-Kommando ist, geht der Kontrollfluß zu Figur 7. Somit steht ein
Prozeß zur Verfügung, um die Verarbeitungsmodi abhängig vom
Inhalt des Datenstroms zurückzusetzen
-
In Figur 7 an Block 80 wird der Status des Textmodus geprüft.
Falls er nicht eingeschaltet ist, geht die Kontrolle zu Block
85, wo der Zeichenprozeß aufgerufen wird, um das grafische
Kommando auszuführen, und der Kontrollfluß geht zu Block 86, der
eine Rückkehr zu Figur 6, Block 71, veranlaßt. Falls der
Textmodus eingeschaltet ist, dann wird an Block 81 der Status des
Unterstreichungsmodus geprüft. Falls er nicht eingeschaltet ist,
geht der Kontrollfluß zu Block 84 weiter, wo festgestellt wird,
ob das Kommando ein Zeichenkettenkommando ist. Falls nicht,
erfolgt keine spezielle Verarbeitung und die Steuerung geht zu
Block 85, wo der Zeichenprozeß aktiviert wird, um das grafische
Kommando auszuführen. Falls Block 84 ein Zeichenkettenkommando
feststellt, dann wird das Kommando in dem Prozeß des Textmodus
in Block 87 statt in dem Grafikzeichenprozeß in Block 85
interpretiert. Der Prozeß in Block 87 ermöglicht die höhere Leistung
und Qualität der Interpretation der Zeichenkettendaten. Dies ist
bei Druckern der Klasse 'A' der Fall, wo nur die Textfunktionen
besonders verarbeitet werden und andere Kommandos im Grafikmodus
verarbeitet werden.
-
Falls an Block 81 festgestellt wird, daß der
Unterstreichungsmodus gesetzt ist, geht die Kontrolle an Block 82, wo
festgestellt wird, ob das Kommando ein Grafiklinienkommando ist. Falls
ja, dann wird die Verarbeitung in Block 86 fortgesetzt, der zu
Figur 6, Block 71, zurückkehrt Diese Operation veranlaßt das
Ignorieren des Grafiklinienkommandos, weil im
Unterstreichungsmodus das tatsächliche Unterstreichen durch alternative Mittel
dargestellt wird. D.h. falls an Block 82 das Kommando kein
Crafiklinienkommando ist, kann angenommen werden, daß es ein
Zeichenkettenkommando ist, da der Textmodus in Block 80 festgelegt
wurde. Daher wird an Block 83 das Zeichenkettenkommando in dem
Textmodusprozeß unter Nutzung einer Schrift interpretiert, die
im Entwurf das Unterstreichen als einen integralen Bestandteil
des Abbilds der Zeichen der Schrift hat. Von Block 83 geht der
Kontrollfluß durch Block 86 zu Figur 6, Block 71. Dies ist der
Fall bei Druckern der Klasse 'B', wo die Textfunktion die
Fähigkeit einschließt, das Unterstreichen als einen integralen
Bestandteil des Textmodus zu behandeln.
-
Zusammenfassend ermöglicht diese Erfindung ein Verfahren des
Erzeugens eines grafischen Darstellungsdatenstroms mit
speziellen Kommandos/Hinweisen, die einem Empfänger gestatten, zu
bestimmen, wo bestimmte Einschränkungen während der Generierung
des Datenstroms verwendet wurden. Die Kommandos/Hinweise
bestehen aus einem Anfang-Datenmerkmale-Kommando und einem Ende-
Datenmerkmale-Kommando. bie Anfang-Datenmerkmale- und Ende-
Datenmerkmale-Kommandos werden in dem Darstellungsdatenstrom
angeordnet und durch eine Empfangsanwendung oder -einheit
empfangen und verarbeitet. Der Empfänger kann den Darstellungspro-
zeß für eine spezielle Ausgabeeinheit modifizieren, wenn er ein
spezielles Anfang-Datenmerkmale-Kommando erkennt. Der
Modifikationsprozeß wird wirksam bleiben, bis das zugeordnete Ende-
Datenmerkmale-Kommando angetroffen wird. Ein Kennzeichnungs-
(ID-) Feld ist Teil jedes Anfang-Datenmerkmale-Kommandos und
Ende-Datenmerkmale-Kommandos. Das ID-Feld wird verwendet, um den
speziellen Prozeß zu definieren, der verwendet wird, um den
eingeschränkten Anteil des Datenstroms zu erzeugen. Ein Verzeichnis
der ID-Felder wird vorausgesetzt. Zukünftige Datenstromerzeuger,
die neue Einschränkungen an dem Ausgabedatenstrom definieren,
und neue Einheiten, die sich an diese Einschränkungen anpassen,
können dem Verzeichnis ihre neuen ID-Felder hinzufügen lassen.
-
Während die Erfindung mit Bezug auf eine spezielle
Ausführungsform davon gezeigt und beschrieben wurde, wird es für den
Fachmann zu verstehen sein, daß die vorgehenden und andere
Anderungen in Form und Details erfolgen können, ohne von dem Bereich
der Erfindung abzuweichen, wie in den anhängigen Ansprüchen
definiert.