-
Die
vorliegende Erfindung bezieht sich im allgemeinen auf Berechnungs-
bzw. Rechensysteme, welche Mittel zum Anzeigen von Dokumenten beinhalten,
und besonders auf eine Vorrichtung und ein Verfahren für ein automatisches
Modifizieren einer Dokumentengestaltung in einem Anzeigeraum.
-
Hintergrund
-
Dokumenten-Veröffentlichungs-Softwarepakete
können
Wortverarbeitungs-, Seitengestaltungs-, Graphikbearbeitungs- und
ein Buch erstellende Funktionen in ein integriertes Produkt bündeln, um
Dokumente mit verschiedenen Komplexitäten aus einfachen Notizen zu
komplexen Mehrkapiteldokumenten mit importierten Graphiken zu erzeugen.
Ein Beispiel eines derartigen Dokumenten-Veröffentlichungs-Softwarepakets
ist PageMakerTM, hergestellt durch Adobe
Systems Incorporated, von San Jose, Kalifornien.
-
Andere
Dokumentenbereitstellungs-Programme oder -Systeme weisen nur Wort
bearbeitende Funktionen und begrenzte Graphikmöglichkeiten auf. Dieser Typ
von Dokumentensystemen beinhaltet vollständig funktionierende Wort-Prozessoren,
wie beispielsweise Microsoft Word, erzeugt durch Microsoft Corporation von
Redmond, Washington.
-
Einmal
erzeugt, werden Dokumente häufig
von ihrem ursprünglichen
Format modifiziert, um sich an neue oder sich ändernde Anwendererfordernisse
anzupassen. Beispielsweise kann ein Dokument eine einzige Spalte
Text enthalten, welche in zwei oder mehrere Spalten konvertiert
werden soll. Beim Durchführen
einer derartigen Konversion bzw. Umformung wird von dem System verlangt,
die Gestaltung bzw. das Layout des Inhalts bzw. Contents einzustellen,
der mit den verschiedenen Seiten des Dokuments assoziiert ist, um
die durch den Anwender ausgewählten
Veränderungen
zu bewältigen.
Ein möglicher
Effekt von einer Änderung im
Format ist, daß es
in Unterlauf- oder Überlaufbedingungen
zwischen Seiten resultieren kann. Ein Unterlauf tritt auf, wenn
eine Layout- bzw. Gestaltungsänderung
im mehr als auf einer Seite zur Verfügung stehendem Raum resultiert,
um Text anzuzeigen bzw. darzustellen, und dementsprechend muß Text von
einer nächsten Seite
bewegt werden, um den verfügbaren
Raum zu befüllen.
Eine Überlaufbedingung
tritt auf, wenn Text von einer Seite des Dokuments zu einer anderen
Seite als ein Resultat des Umgestaltungsvorgangs überquillt.
-
In
einem Dokumenten-Veröffentlichungs-System
definiert der Seitenrahmen, wie Inhalt bzw. Content auf einer vorgegebenen
Dokumentenseite organisiert und angezeigt wird. Der Seitenrahmen
beinhaltet Glieder, welche verwendet werden, um den Inhalt auf der
Seite zu positionieren, auszurichten oder sonst den Inhalt auf der
Seite zu organisieren. Die Glieder beinhalten Ränder, Seitenkanten bzw. -ränder, Linealführungen
und Spaltenkanten. Seiteneigenschaften, wie beispielsweise eine
Seitengröße und Orientierung
(Porträt
oder Landschaft) beeinflussen die Anordnung von Rahmengliedern auf
der Seite. Dementsprechend wird, wenn Modifikationen an einer Seiteneigenschaft
durch den Anwender vorgenommen werden, von dem Dokumenten-Veröffentlichungs-System verlangt,
die assoziierten Rahmenglieder zu ihren neuen Anordnungen bzw. Stellen
einzustellen. Jeder Inhalt, der mit einem dieser neuen zugeordneten
Gerüst-
bzw. Gefüge-
bzw. Rahmenglieder assoziiert (oder ausgerichtet) ist, muß auf ähnliche
Weise in der neuen Seitengestaltung neu zugeordnet werden oder es
wird von einem Anwender verlangt, manuell die Einstellung durchzuführen.
-
1 zeigt
eine typische Wort-Prozessor- bzw. Wort-Verarbeitungsannäherung zum Anzeigen von Inhalt
auf einer Seite. Ein Wort-Verarbeitungsprogramm bestimmt den verfügbaren Spaltenraum
in dem Seitenrahmen für
einen Inhalt basierend auf der Position von Rahmengliedern, basierend
auf vom Anwender ausgewählten
(oder voreingestellten) Seiteneigenschaften des Seitenrahmens bzw.
Seitengrundgerüst
(100). Der Inhalt (z.B. Worte, die durch den Anwender geschrieben
bzw. getippt wurden) wird automatisch innerhalb der verfügbaren Spaltenfläche (102)
positioniert. Danach kann die Seite angezeigt werden (104).
Auf bzw. nach Erhalt einer Anfrage bzw. Anforderung, den Seitenrahmen
zu wechseln (in der Form einer Änderung
an einer Seiteneigenschaft oder dem Neupositionieren eines individuellen
Rahmenglieds) (106), bestimmt das Programm den verfügbaren Spaltenraum
für den
Inhalt basierend auf dem neuen Seitenrahmen (108). Danach stellt
das Programm die Seitenrahmenglieder ein und positioniert den Inhalt
innerhalb des verfügbaren
Raums (110) neu. Schließlich kann die neue Seite angezeigt
bzw. dargestellt werden (112). Dieser Vorgang wiederholt sich
bei Schritt 104 jedesmal, wenn ein Seitenrahmenglied oder
eine Seiteneigenschaft durch den Anwender eingestellt wird. Beispielsweise
wird, um die Inhaltsfläche
auf der Seite schmaler zu machen, von dem Anwender verlangt, die
linken und/oder rechten Grenzen bzw. Ränder zu erweitern. Ein zufälliges Positionieren
von Inhalt – besonders
mehrfacher Stücke
von Inhalt, wie beispielsweise eine Auswahl von Text und graphischen Objekten – ist unmöglich.
-
Andere
Dokumenten-Veröffentlichungs-Systeme
erlauben mehr Freiheit bei der Plazierung von Inhalt auf einer Seite.
Derartige Systeme behandeln einen Inhalt typischerweise als Objekte
bzw. Gegenstände.
Beispielsweise erlaubt PageMaker es einem Anwender, Inhalt (entweder
Text oder Graphiken) zufällig
bzw. willkürlich
auf einer Seite zu plazieren. Der Anwender paßt die Objekte größenmäßig an und
positioniert diese danach auf der Seite an willkürlichen Stellen. Diese Annäherung bzw.
dieser Zugang gestattet eine vollständige Flexibilität des Layouts
bzw. der Gestaltung für
die Seite, wobei derartigen Systemen eine Überlegenheit gegenüber Wort-Verarbeitungsprogrammen
für Situationen
gegeben wird, wo eine Design- bzw. Entwurfsfreiheit wichtig ist.
-
Während dieser
Typ von Freiheit wünschenswert
ist, treten Schwierigkeiten auf, wenn der Seitenrahmen abgeändert wird.
Typischerweise, sind Freiform-Dokumentveröffentlichungs-Systeme, welche die
willkürliche
Plazierung von Inhalt auf einer Seite zulassen, unfähig, um
Inhalt automatisch auf einer Seite in Antwort auf eine Veränderung
des Seitenrahmens umzugestalten. Dementsprechend muß ein Inhalt
in der Größe angepaßt bzw.
neu dimensioniert werden oder manuell neu positioniert werden, nachdem Änderungen
an dem Seitenrahmen vorgenommen wurden. In diesen Freiform-Dokumentveröffentlichungs-Systemen
wird eine Ausrichtung des Inhalts zu Rahmengliedern gänzlich zufällig bzw. übereinstimmend
angenommen und diese werden durch das Programm nicht beachtet, wenn
sie nach Befehlen bzw. Instruktionen eines Anwenders handeln, um
den Seitenrahmen zu modifizieren.
-
Das
Dokument EP-A-0 576 178 zeigt ein Verfahren zum Spezifizieren räumlicher
Beziehungen zwischen Elementen in einer Graphikumgebung. Eine Beschränkungsbeziehung,
welche zwischen zwei graphischen Elementen eingeführt bzw.
auferlegt wird, wird durch die Bearbeitung der Elemente aufrecht
erhalten. Das Selbstausrichtungs-Werkzeug dieses Dokuments befähigt einen
Ver- bzw. Anwender, eine spezifische Ausrichtungsbegrenzungs-Beziehung
zwischen zwei graphischen Elementen zu definieren.
-
Zusammenfassung
der Erfindung
-
Die
Erfindung stellt ein Verfahren zum Neupositionieren eines Inhaltsgegenstands
bzw. Content-Objekts auf einer Seite eines elektronischen Dokuments,
wie dies in dem unabhängigen
Anspruch 1 dargelegt ist, und ein Computerprogramm-Produkt zum Neupositionieren
eines Content-Objekts auf einer Seite zur Verfügung.
-
Die
ursprüngliche
Seitenrahmen-Information, die mit der Seite assoziiert ist, wird
eine Beschreibung für
jedes Gerüst-
bzw. Rahmenglied in dem ursprünglichen
Seitenrahmen beinhaltend wieder erlangt. Ausrichtungsdaten für das Content-Objekt
bzw. den Inhaltsgegenstand werden abgeleitet, indem bestimmt wird,
ob irgendeine Kante des Content-Objekts mit einem Gerüst- bzw.
Rahmenglied ausgerichtet ist. Danach wird die Seitengestaltung bzw.
das Seitenlayout entsprechend der Anwenderanfrage neu definiert.
Schließlich
wird das Content-Objekt auf der neudefinierten Seite basierend auf
den Ausrichtungsdaten neu positioniert.
-
Bevorzugte
Ausführungsformen
beinhalten die folgenden Merkmale bzw. Eigenschaften. Die Benutzeranfrage ändert die
Position eines Rahmenglieds. Das Gefüge- bzw. Rahmenglied, welches
durch den Anwender bzw. Benutzer geändert wurde, wird aus der Gruppe
ausgewählt,
bestehend aus Begrenzungen bzw. Seitenrändern bzw. -kanten, Spaltenkanten,
Seitenkanten und Lineal-Führungen.
Ein Ableiten von Ausrichtungsdaten beinhaltet ein Wiedererlangen
bzw. Abrufen positioneller bzw. auf die Lage bezogener Information
für das
Content-Objekt, ein Bestimmen, ob eine Objektkante mit beliebigen
Rahmengliedern fluchtet bzw. ausgerichtet ist und, wenn dies der
Fall ist, ein Auswählen
eines Rahmenglieds aus dem Satz von Rahmengliedern, mit welchen
die Objektkante fluchtet, um das Rahmenglied zu sein, mit welchem
die Kante bzw. der Rand des Objekts in der neu definierten Seite
ausgerichtet werden soll. Wenn eine Objektkante mit mehr als einem
Rahmenglied fluchtet, wird das Rahmenglied, mit welchem die Kante
des Objekts in der neudefinierten Seite ausgerichtet werden soll,
entsprechend einer vorbestimmten Reihenfolge ausgewählt. Die
vorbestimmte Reihenfolge ist eine Ausrichtung an Spalten, Linealführungen,
Seitenrändern,
Seitenkanten und überstehenden
bzw. Auslaufkanten.
-
Eine
Ausrichtung an Rahmengliedern ist präzise. Ein Neudefinieren des
Seitenlayouts bzw. der Seitengestaltung beinhaltet ein Neupositionieren
von Linealführungen.
-
Ein
Neupositionieren des Content-Objekts beinhaltet ein Wiedererlangen
der Ausrichtungsdaten für das
Objekt, ein Ausrichten des Objekts horizontal auf der Seite und
ein Ausrichten des Objekts vertikal auf der Seite.
-
Eine
horizontale Ausrichtung beinhaltet ein Bestimmen, ob linke und rechte
Kanten des Objekts bzw. Gegenstands mit Rahmengliedern fluchten.
Wenn beide Kanten mit Rahmen gliedern fluchten, dann wird das Objekt
bewegt und in der Größe neu bestimmt,
sodaß die
linken und rechten Kanten des Objekts sich an die neuen Anordnungen
bzw. Stellen der Rahmenglieder anpassen, mit welchen diese in dem
neu definierten Seitenlayout fluchten. Wenn nur eine Kante des Objekts
zu einem Rahmenglied ausgerichtet ist, dann wird das Objekt horizontal,
ohne es in der Größe anzupassen,
zu einer neuen Position bewegt, welche mit dem Rahmenglied assoziiert
ist, mit welchem es ausgerichtet ist. Wenn keine Kante fluchtet,
wird das Objekt horizontal bewegt, ohne es in der Größe anzupassen
bzw. neu zu dimensionieren, um sein Zentrum bzw. seine Mitte in derselben
relativen Position auf der Seite zu halten.
-
Eine
vertikale Ausrichtung beinhaltet ein Bestimmen, ob Ober- und Boden-
bzw. Unterkanten des Objekts mit Rahmengliedern fluchten. Wenn beide
mit Rahmengliedern fluchten, dann wird das Objekt bewegt und in
der Größe angepaßt, sodaß die Ober-
und Unterkanten des Objekts sich den neuen Stellen der Rahmenglieder
anpassen bzw. mit diesen übereinstimmen,
mit welchen sie in dem neudefinierten Seitenlayout fluchten. Wenn
nur eine Kante des Objekts mit einem Rahmenglied ausgerichtet ist,
dann wird das Objekt vertikal ohne es in der Größe anzupassen, zu einer neuen
Position bewegt, welches mit dem Rahmenglied assoziiert ist, mit
welchem es ausgerichtet ist. Wenn keine Kante fluchtet, wird das
Objekt vertikal bewegt, ohne es in der Größe anzupassen, um sein Zentrum
in derselben relativen Position auf der Seite zu halten.
-
Unter
den Vorteilen der Erfindung sind die Folgenden. Inhalt kann auf
einer Seite zur Anzeige willkürlich
plaziert werden, wobei jedoch die Plazierung auf der Seite in einer
Inferenz bzw. Beeinflussung der Struktur resultieren wird. Da Änderungen
an dem Seiten-Rahmen durch einen Anwender bzw. Benutzer angezeigt
werden, gestattet eine abgeleitete Struktur das automatische Umgestalten
des Seiteninhalts basierend auf der abgeleiteten Struktur.
-
Andere
Vorteile und Merkmale werden aus der folgenden Beschreibung und
den Ansprüchen
erkennbar bzw. ersichtlich werden.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Flußdiagramm
für einen
Vorgang bzw. Verlauf eines Anzeigens einer Seite eines Dokuments
durch eine Wort-Verarbeitungs-Anwendung nach dem Stand der Technik.
-
2 ist
ein Flußdiagramm
eines Ablaufs zum automatischen Einstellen von Inhalt bzw. Content
auf einer Seite in einem Dokument-Veröffentlichungs-System in Antwort
auf eine durch einen Benutzer ausgewählte Änderung an einem Seitenrahmenglied
gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
3 ist
ein Flußdiagramm
zum Bestimmen von Ausrichtungsdaten gemäß einer Ausführungsform der
vorliegenden Erfindung.
-
4 ist
ein Flußdiagramm
zum Bestimmen von Neupositionierungs-Daten gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
5 ist
eine Tabelle, welche die Neupositionierung eines Content-Objekts
basierend auf verschiedenen Kombinationen von Ausrichtungen der
Kanten bzw. Ränder
des Objekts zu Rahmengliedern gemäß einer Ausführungsform
der vorliegenden Erfindung zeigt.
-
6 ist
ein schematisches Blockdiagramm eines programmierbaren Computers,
welcher zum Ausführen
von Computerprogrammen gemäß der vorliegenden
Erfindung geeignet ist.
-
Detaillierte
Beschreibung
-
Bezugnehmend
auf 2, empfängt
in einem Ablauf bzw. Prozeß eines
automatischen Einstellens von Inhalt bzw. Content in einem Dokument
das Dokumenten-Veröffentlichungs-System eine Benutzeranfrage, um
den Seiten-Rahmen bzw. das Seiten-Gerüst zu ändern, welcher(s) mit einer
vorgegebenen Seite eines Dokuments (200) assoziiert ist.
Die Benutzeranfrage kann von der Form einer Seiteneigenschafts-Änderung
(wie beispielsweise eine Änderung
der Seitengröße) sein
oder kann eine Änderung
an einem besonderen Gerüst- bzw.
Gefüge-
bzw. Rahmenglied spezifizieren, welches neu angeordnet werden soll.
Die Benutzeranfrage bzw. -anforderung definiert die für die Rahmenglieder
erforderlichen Änderungen,
um die Seitenanzeige bzw. -darstellung an das gewünschte Ausgabeformat
des Benützers
anzupassen. Beispielsweise wird sich, wenn der Benützer wünscht, die
Orientierung des Dokuments von "hoch" auf "breit" zu ändern, dann
die Position der Seitenränder
und Spalten ändern.
In einer Ausführungsform
können
die folgenden Benutzerhandlungen bzw. -vorgänge in Rahmenmodifikationen
resultieren: Änderungen
der Seitengröße oder
Orientierung, Seitenränder bzw.
-kanten, Anzahl der Spalten oder des Raums zwischen Spalten; Änderungen
an den Attributen bzw. Eigenschaften der augenblicklichen Grund-
bzw. Hauptseite (wo Änderungen
an der Hauptseite jede andere Seite in dem Dokument beeinflussen,
z.B. seine Spalten oder Seiten ränder);
oder die Zuweisung einer anderen Hauptseite zu der gegenwärtigen Seite.
-
Das
Dokumenten-Veröffentlichungs-System
macht (speichert) einen Schnappschuß bzw. eine Momentaufnahme
der gegenwärtigen
(ursprünglichen)
Seitenrahmeninformation, welche mit der vorgegebenen Seite des Dokuments
(202) assoziiert ist. Dies erfordert die Wiedererlangung
der verschiedenen Seiteneinstellungen (Seiten-Rahmen), welche entweder
explizit durch den Benützer
eingestellt wurden, oder der Default- bzw. Vorgabeeinstellungen
(wie für
das Dokument-Veröffentlichungs-System
geeignet bzw. entsprechend). In einer Ausführungsform sind die wiedererlangten
Seitenrahmen-Einstellungen Seitengröße (z.B. Letter, legal, A4,
zur Bestimmung von Seitenkanten), Seitenorientierung (hoch oder
breit, auch zum Bestimmen von Seitenkanten bzw. -rändern),
Seitenrandbreite für
jeden der vier Ränder
(oben, unten, rechts, links), allgemeine Spalteninformation (wieviele
Spalten, wieviel Raum zwischen den Spalten), spezifische Spalteninformation
(Position von jeder linken und rechten Seite der Spalte), und die
Position von Linealführungen.
Eine Linealführung ist
eine vertikale oder horizontale, nicht druckende gerade Linie, welche
verwendet wird, um bei der Inhalts-(Objekt-)Ausrichtung zu helfen.
In einer Ausführungsform
wird die Seiteneinstellungs-Information als positionelle bzw. die
Lage betreffende Information gespeichert und beinhaltet die exakte
Position von jedem Seitenrahmenglied, welches für eine assoziierte bzw. zugehörige Seite
definiert ist.
-
In
einer Ausführungsform
wird der Seitenrahmen in zwei Gruppen, horizontale und vertikale
Glieder, wie folgt aufgeteilt:
Horizontale
Glieder | Vertikale
Glieder |
obere
und untere Seitenkanten | linke
und rechte Seitenkanten |
obere
und untere Seitenränder | linke
und rechte Seitenränder |
horizontale
Linealführungen überstehende
Kanten | vertikale
Linealführungen
linke und rechte Spaltenkanten, überstehende
Kante |
-
Die
Datenstruktur zum Repräsentieren
und Speichern eines Rahmenglieds beinhaltet ein Positionsfeld zum
Speichern einer absoluten Position eines jeden Glieds auf der Seite
und eines Typenfelds zum Speichern des Typs bzw. der Art des Rahmenglieds.
-
Nachdem
die ursprüngliche
Rahmenseiten-Information gespeichert wurde, definiert das System
das Seitenlayout entsprechend der Benutzeranfrage neu, welche in
Schritt 200 (204) erhalten wurde. Spezifischer stellt
das System die Seite ein, um sich an die neue, durch den Benutzer
angefragte bzw. geforderte Konfiguration anzupassen, welche eine Änderung
der Seitengröße, Seitenrandanordnung
oder Spaltengröße oder
Position beinhalten kann. Dementsprechend kann jedes Seitenrahmenglied
zu einer neuen Position auf der Seite neu zugeordnet werden, oder
vollständig
von der Seite entfernt werden. Die neue Seitendefinition in der
Form von Seitenrahmengliedern wird zur Verwendung beim Manipulieren
von Content-Objekten auf der neu definierten Seite (206)
gespeichert. Die Datenstruktur zum Speichern der Rahmenglieder in
der neu definierten Seite beinhaltet ein Positionsfeld und ein Typenfeld.
-
Nachdem
die Seitengrundgerüst-
bzw. Seitenrahmen-Information gespeichert wurde, wird der gegenwärtige Content
bzw. Inhalt für
die Seite wiederhergestellt bzw. wiedererlangt und gespeichert (208).
Der Typ und die Koordinaten von jedem Content-Objekt auf der Seite
(z.B. Textblock, Kasten bzw. Box, oval, Polygon bzw. Vieleck, Linie,
Graphik, Gruppe) werden gesammelt auf eine Weise, welche die Koordinaten
von jeder Seite (Kante) (links, oben, rechts, unten) des Begrenzungskastens
des Objekts speichert. Die Datenstruktur für ein Content-Objekt beinhaltet
Positionsfelder zum Speichern der Koordinaten für jede Kante der Objekt- und
Ausrichtungsfelder zum Speichern von Ausrichtungsdaten. Ausrichtungsfelder
und Ausrichtungsdaten werden detaillierter unten unter Bezugnahme
auf 3 und 4 besprochen bzw. diskutiert
werden. In dem Fall eines Textblocks wird einige zusätzliche
Information gesammelt, welche sich darauf bezieht, ob der Textblock
vor und/oder nach anderen Textblöcken
in dem Dokument gefädelt
ist.
-
Es
ist wichtig zu beachten bzw. festzustellen, daß diese Objekte irgendwo auf
der Seite (sogar teilweise aus der Seite hinaus erstreckend) unabhängig von
dem Seitenrahmen angeordnet werden können. D.h., Objekte bzw. Gegenstände müssen nicht
auf dem Rahmen bzw. Rahmenwerk bzw. Gerüst positioniert werden. Das
System gibt vollständige
Freiheit für
den Benützer
beim Positionieren eines jeden Objekts; sie können sogar überlappen. Seitenränder, Spalten
und Linealführungen
werden lediglich als eine Bequemlichkeit zur Verfügung gestellt,
um eine Ausrichtung an den Rahmen nach Wunsch zu erlauben.
-
Nachdem
der gegenwärtige
Inhalt für
die Seite wiedergewonnen bzw. -erhalten wurde, berechnet das System
Ausrichtungs- und Neupositionierungs-Daten für jedes Content-Objekt (210).
Spezifischer werden Ausrichtungsdaten für jedes Objekt durch ein Bewirken
bzw. Durchführen
einer Ausrichtung an Rahmengliedern abgeleitet. Danach wird jedes
Contekt-Objekt zusammen mit den Ausrichtungsdaten ausgewertet, um (basierend
auf seinen Seitenausrichtungen an Rahmengliedern) Neupositionierungs-Daten
zu bestimmen, um zu definieren, wie das Objekt bewegt und/oder neu
in der Größe angepaßt bzw.
neu dimensioniert werden sollte, um auf den modifizierten (neudefinierten)
Rahmen zu passen. Der Vorgang bzw. Prozeß eines Berechnens von Ausrichte-
und Neupositionierungs-Daten wird detaillierter unter Bezugnahme
auf 3 und 4 beschrieben.
-
Nachdem
die Seitenneudefinierung abgeschlossen wurde, wird der Seiteninhalt
bzw. -content neu auf der neudefinierten Seite basierend auf den
Neupositionierungs-Daten neu positioniert, welche im Schritt 210 (212)
abgeleitet wurden. Danach wird die neudefinierte Seite angezeigt
bzw. dargestellt (214).
-
Ausrichtungs-
und Neupositionierungs-Daten werden basierend auf abgeleiteten bzw.
gefolgerten Beziehungen zwischen den Content-Objekten und Seitenrahmengliedern
in dem ursprünglichen
Seitenlayout berechnet. Bezugnehmend auf 3 beinhaltet
der Prozeß eines
Berechnens von Ausrichtungsdaten ein Wiederherstellen eines Objekts
(300). Wie dies oben beschrieben wurde, beinhaltet die
Datenstruktur für
jedes Objekt positionelle Information, um jede Kante des Objekts
im Anzeigeraum (auf der Seite) anzuordnen. Für jede Kante werden Ausrichtungsdaten
basierend auf der Ausrichtung der vorgegebenen Kante an Rahmenglieder abgeleitet,
indem eine Objektkantenposition zur Ausrichtung mit einem Rahmenglied
(302) verglichen wird. Ausrichtungsdaten für jede Kante
eines Objekts werden durch ein Vergleichen der relativen Position
einer jeweiligen Kante mit jedem Rahmenglied berechnet. Das Ziel
ist zu bestimmen, ob jede der vier Kanten des Objekts präzise mit
Gliedern des Seitenrahmens ausgerichtet ist. Für jede Kante eines vorgegebenen
Objekts werden die Rahmenglieder, zu welchen eine Ausrichtung abgeleitet
werden kann, als Ausrichtungsdaten in Ausrichtungsfeldern gespeichert,
die mit jedem Objekt (304) assoziiert sind. Spezifischer
werden Ausrichtungsdaten in den Ausrichtungsfeldern für jedes
Objekt gespeichert und beinhalten den Identifikator des Rahmenglieds,
an welchem das Objekt in der ursprünglichen Seite (vor einer Neudefinierung)
ausgerichtet ist.
-
In
einer Ausführungsform
werden Ausrichtungsüberprüfungen in
einer hierarchischen Weise durchgeführt, sodaß Ausrichtungsüberprüfungen für jede Kante
an der Identifizierung des ersten Rahmenglieds enden, mit welcher
die Kante ausgerichtet ist. Die Reihenfolge der Ausrichtungsüberprüfungen (Hierarchie)
ist wie folgt: Spalten, Linealführungen,
Seitenränder,
Seitenkanten, und schließlich
außerhalb
der Seite befindliche (überstehende)
Kanten. Eine Auslaufkante ist jede Objektkante, welche die Kante
des Dokuments verläßt bzw. überragt.
-
Alternativ
können
Ausrichtungsdaten, welche mit allen Rahmenglieder assoziiert sind,
welche zu einer gegebenen Objektkante ausgerichtet sind, gespeichert
werden. Wenn mehrfache bzw. Mehrfachausrichtungen (Rahmenglieder)
gespeichert werden, kann ein komplexeres Schema einer Strukturfolgerung
bzw. eines -rückschlusses
implementiert werden. Jedoch kann die Genauigkeit dieser "komplexen" Rückschlüsse, welche durch
das automatische Neupositionierungs-System vorgenommen werden, abnehmen.
Ein komplexeres Schema kann in Rückschlüssen resultieren,
welche für
eine vorgegebene Anwendung nicht korrekt sind, und somit eine Benutzerinteraktion
bzw. -wechselwirkung zur Korrektur erfordern. Dementsprechend ist
ein hierarchisches System, welches einen höheren Grad von Sicherheit und
weniger komplexe Rückschlüsse gestattet, bevorzugt.
-
In
einer Ausführungsform
ist bzw. wird eine Ausrichtung an einem Rahmenglied innerhalb einer
Vorgabetoleranz oder einem durch einen Benutzer definierten Toleranzpegel
bestimmt. Beispielsweise ist es, da die Koordinatenwerte, welche
beim Herstellen von Kante-zu-Rahmen-Vergleichen verwendet werden,
sehr präzise
bzw. genau sein können
(einige Systeme unterstützen
eine Positionierung bis zu 1/1440 eines Zolls), möglich, daß ein Objekt
durch den Benützer
an einem Rahmenglied auszurichten beabsichtigt war, wenn es dieses
tatsächlich
leicht verfehlt hat. Aus diesem Grund kann der Benützer ein "Klicke-zur-Zone"-Merkmal auswählen, um Objekte anzupassen
bzw. abzustimmen, welche nahe zu einem Rahmenglied, jedoch nicht
perfekt ausgerichtet sind. Die Klicke-zur-Zone-Distanz ist bzw.
wird als die Distanz bzw. der Abstand an irgendeiner Seite eines
Rahmenglieds definiert, innerhalb welcher(m) eine Objektkante als
angepaßt
an das (ausgerichtet mit dem) Rahmenglied betrachtet werden wird.
In einer Ausführungs form
beträgt
der Default- bzw. Vorgabewert für
die Klicke-zu-Zone-Distanz
0,014 Zoll.
-
Nunmehr
bezugnehmend auf 4 beinhaltet der Prozeß zum Berechnen
von Neupositionierungs-Daten zur Neuanordnung von Content-Objekten
auf der neu definierten Seite ein Wiederherstellen bzw. -erlangen
der Ausrichtungsdaten für
ein erstes Objekt (400). Eine Überprüfung wird vorgenommen, um zu
bestimmen, ob sowohl die linke als auch rechte Kante des Objekts
mit Rahmengliedern (402) ausgerichtet ist. Ist dem so,
dann wird gefolgert, daß das
Objekt auf beiden der Rahmenglieder angepaßt verbleiben sollte, mit welchen
es ausgerichtet ist. Dieser Rückschluß wird in
der Form von Neupositionierungs-Daten gespeichert. Neupositionierungs-Daten
sind positionelle bzw. auf die Lage bezogene Information, welche
die Anordnung bzw. Stelle von jeder Kante für das Content-Objekt auf der
neu definierten Seite definiert. Neupositionierungs-Daten werden
in den Positionsfeldern für
jedes Objekt gespeichert. Dementsprechend wird die positionelle
Information, welche mit jedem der Rahmenglieder assoziiert ist,
mit welchen das Objekt ausgerichtet ist, wiedergewonnen und in den
geeigneten Positionsfeldern für
das gegebene Objekt (404) gespeichert. Somit werden zum
Zeitpunkt zum Neu- bzw. Repositionieren des Objekts die Repositionierungsdaten,
welche in den positionellen Feldern gespeichert sind, in der Neuanordnung
der Kanten (linke und rechte) des Objekts an den neuen Stellen dieser
Glieder in der neu definierten Seite resultieren. Dies kann darin
resultieren, daß das
Objekt bewegt und/oder horizontal der Größe nach neu angeordnet bzw.
neu bemessen bzw. neu dimensioniert wird.
-
Wenn
das Objekt nicht sowohl an seiner rechten als auch linken Kante
ausgerichtet ist, dann wird eine Überprüfung vorgenommen, um zu bestimmen,
ob entweder die linke oder rechte Kante des Objekts mit einem Rahmenglied
(406) ausgerichtet ist. Ist dem so, dann wird rückgeschlossen,
daß sich
das Objekt mit dem einzelnen Glied bewegen sollte, an welchem es
ausgerichtet ist, jedoch nicht horizontal in der Größe neu angepaßt wird.
Dementsprechend wird die positionelle Information, welche mit dem
Rahmenglied assoziiert ist, mit welchem das Objekt ausgerichtet
ist, wieder hergestellt und in dem geeigneten Positionsfeld für das vorgegebene
Objekt gespeichert (408). Zum Zeitpunkt eines Repositionierens
bzw. Neupositionierens wird das Objekt (horizontal) in bezug auf
die neue Position des Rahmenglieds bewegt, zu welchem es ausgerichtet
ist.
-
Wenn
die linke und rechte Kante des Objekts nicht mit irgendeinem Rahmenglied
ausgerichtet sind, wird gefolgert, daß das Objekt seine gleiche
relative Position auf der Seite (horizontal) beibehalten sollte.
Dementsprechend wird positionelle Information für das Objekt auf der ursprünglichen
Seite und die linken und rechten Seitenkanten für die Definitionen der ursprünglichen
und neuen Seite wiederhergestellt (409). Die Neupositionierungs-Daten (relative Anordnung
des Objekts auf der neu definierten Seite) werden bestimmt und in dem
geeigneten Positionsfeld für
das gegebene Objekt (410) gespeichert. Zum Zeitpunkt eines
Neupositionierens wird das Objekt horizontal bewegt (jedoch nicht
neu dimensioniert), um sein Zentrum in derselben relativen Position
auf der Seite zu halten, welche es vorher hatte, bevor der Benützer die
Seite neu definierte.
-
Als
nächstes
wird eine Überprüfung vorgenommen,
um zu bestimmen, ob sowohl die obere als auch untere bzw. Bodenkante
des Objekts mit Rahmengliedern (411) ausgerichtet sind.
Ist dem so, dann wird gefolgert, daß das Objekt auf beiden der
Rahmenglieder angepaßt
verbleiben sollte, mit welchen es ausgerichtet ist. Dieser Rückschluß wird erneut
in der Form von Neupositionierungs-Daten gespeichert. Dementsprechend wird
die positionelle Information, welche mit jedem der Rahmenglieder
assoziiert ist, mit welchen das Objekt ausgerichtet ist, wiedergewonnen
und in den geeigneten bzw. entsprechenden Positionsfeldern für das gegebene
Objekt (412) gespeichert. Somit werden zum Zeitpunkt zum
Neupositionieren des Objekts die Neupositionierungsdaten, welche
in den positionellen Feldern gespeichert sind, in der Neuanordnung
der oberen und unteren Kante des Objekts an den neuen Stellen dieser
Glieder in der neu definierten Seite resultieren. Dies kann darin
resultieren, daß das
Objekt vertikal bewegt und/oder in der Größe neu angepaßt wird.
-
Wenn
das Objekt nicht sowohl an seinen oberen und unteren Rändern bzw.
Kanten ausgerichtet ist, wird eine Überprüfung vorgenommen, um zu bestimmen,
ob entweder die obere oder untere bzw. Bodenkante des Objekts mit
einem Gerüst-
bzw. Rahmenglied (413) ausgerichtet ist. Ist dem so, dann
wird gefolgert, daß das
Objekt sich mit dem einzelnen Glied bewegen sollte, mit welchem
es ausgerichtet ist, jedoch nicht horizontal in der Größe neu angepaßt wird.
Dementsprechend wird die positionelle Information, welche mit dem
Rahmenglied assoziiert ist, mit welchem das Objekt ausgerichtet
ist, wieder gewonnen bzw. abgerufen und in dem geeigneten Positionsfeld
für das gegebene
Objekt (414) gespeichert. Zum Zeitpunkt eines Neupositionierens wird
das Objekt in Bezug zu der neuen Position des Rahmenglieds (vertikal)
bewegt, mit welchem es ausgerichtet ist.
-
Wenn
die obere und Bodenkante des Objekts nicht mit irgendeinem Rahmenglied
ausgerichtet sind, wird gefolgert, daß das Objekt seine selbe relative
Position auf der Seite (vertikal) beibehalten sollte. Dementsprechend
wird positionelle Information für
das Objekt auf der ursprünglichen
Seite und die oberen und unteren Seitenkanten für die ursprünglichen und neuen Seitendefinitionen
wiedergewonnen bzw. abgerufen (416). Die Neupositionierungs-Daten (relative Anordnung
des Objekts auf der neu definierten Seite) werden bestimmt und in
dem geeigneten Positionsfeld für
das vorgegebene Objekt (418) gespeichert. Zum Zeitpunkt
eines Neupositionierens wird das Objekt vertikal bewegt (jedoch
nicht in der Größe angepaßt), um
so sein Zentrum in derselben relativen Position auf der Seite zu
halten, die es zuvor hatte, bevor der Benützer die Seite neu definierte.
-
Eine Überprüfung wird
vorgenommen, um zu bestimmen, ob es für mehr Objekte nötig ist,
auf der Seite (420) neu positioniert zu werden. Ist dem
so, dann werden die Ausrichtungsdaten für das nächste Objekt geladen (422)
und der Vorgang setzt bei Schritt (402) fort. Andernfalls
endet der Vorgang und die Neupositionierungsdaten für jedes
Objekt werden verfügbar
gemacht, um die Neupositionierung des Content-Objekts auf der neu
definierten Seite zu gestatten.
-
Die
obigen Regeln behandeln horizontale Kanten bzw. Ränder unabhängig von
vertikalen. D.h., ein Objekt muß keine
Ausrichtungen an den linken oder rechten Kanten aufweisen, und wird
daher nach rechts oder links bewegt, um die relative Seitenposition
seines Zentrums aufrecht zu erhalten. Zur selben Zeit jedoch kann
die Oberseite oder die Unterseite oder der Boden (oder beide) mit
dem Rahmen bzw. Gerüst
ausgerichtet worden sein. In diesem Fall wird das Objekt auch vertikal
entsprechend der oben dargestellten Regeln eingestellt. Dies bedeutet,
daß abhängig von
den Typen der Ausrichtungen an den vier Kanten eines Objekts die
an ihm vorgenommene Handlung sein könnte, sich in einer Dimension
zu bewegen, sich jedoch in der anderen zu bewegen und der Größe nach
anzupassen. Eine Tabelle 500, welche die verschiedenen möglichen
Kombinationen von Ausrichtungen und der resultierenden Neupositionierung
eines Objekts zeigt, ist in 5 gezeigt.
-
Während der
Vorgang am leichtesten im Hinblick auf eine Sequenz bzw. Abfolge
von Überprüfungen beschrieben
und verstanden wird, können
andere Mittel zum Bestimmen und Neupositionieren eingesetzt werden.
Spezifisch könnte
eine Durchsuchung einer Tabelle von Ausrichtungen durchgeführt werden,
um die Neupositionierung eines gegebenen Objekts basierend auf der
individuellen Kombination von Ausrichtungen für jede Kante zu bestimmen.
Alternativ kann eine Baumsuche durchgeführt werden. Alternativ kann
der Vorgang implementiert werden als Regeln, welche durch eine auf
einer Regel basierenden Rückschlußmaschine
interpretiert oder ausgeführt
werden. In einer Ausführungsform
wurde eine Eklipsen-Maschine, erzeugt durch The Haley Enterprise,
Inc., von Sewickley, Pennsylvania verwendet.
-
In
einer alternativen Ausführungsform
werden Objekte, welche Gruppen sind, oder Graphik sind oder beinhalten,.
neu positioniert, um nicht ihre gesamte optische Erscheinung zu
schädigen
bzw. zu beeinträchtigen.
Dementsprechend wird jede größenmäßige Anpassung,
welche in Übereinstimmung
mit 3 vorgenommen wird, proportional durchgeführt. D.h.,
der Faktor einer größenmäßigen Anpassung
wird sowohl in horizontaler als auch vertikaler Dimensionen beibehalten.
In dieser besonderen Ausführungsform
wirkt eine proportionale größenmäßige Anpassung,
um Vorrang vor der oben dargelegten normalen Neupositionierung zu haben.
D.h., wenn ein Objekt bzw. Gegenstand aufgrund horizontaler Ausrichtungen
neu dimensioniert wird, dann wird derselbe Faktor zur Neuanpassung
der Größe bzw.
Neudimensionierung vertikal angewendet, selbst wenn keine vertikalen
Ausrichtungen vorhanden waren. Dies kann einen Verlust von Ausrichtungen
verursachen, wenn alle vier Kanten ursprünglich ausgerichtet waren und
der Betrag der größenmäßigen Anpassung
nicht derselbe in jeder Dimension ist. Wenn dies geschieht, wird
das System versuchen, die linke und rechte Kante an ihre ordnungsgemäßen Rahmengliedern
zuerst anzupassen, dann die obere und dann den Boden, wenn möglich. Wenn
ein Durchführen
einer größenmäßigen Anpassung
bzw. Neudimensionierung in dieser Reihenfolge das Objekt zu groß für die Seite
machen würde,
dann wird das System die Reihenfolge umkehren und entsprechend den
Ausrichtungskriterien der oberen und unteren Kante zuerst die Größe neu anpassen.
-
In
einer anderen Ausführungsform
beinhaltet die Neudefinition der Seite, wie dies in Verbindung mit Schritt 204 von 2 beschrieben
wurde, ein Ändern
oder Bewegen zusätzlicher
Rahmenglieder, für
welche nicht notwendiger weise erforderlich wäre, basierend auf den Änderungsdaten
geändert
zu werden. Die größenmäßige Anpassung
bzw. Neudimensionierung einer Seite kann die Bewegung von Linealführungen
erfordern, einem zusätzlichen
Rahmenglied, um das Seitenlayout bzw. die Seitengestaltung auf eine
Weise neu zu definieren, welche mit den Benützererfordernissen vereinbar
ist. Beispielsweise könnte
gefolgert werden, daß eine
Linealführung,
welche durch einen Benützer
an einer Seitenrandstelle angeordnet wurde, ebenfalls bewegt werden
sollte, wenn der Seitenrand selbst neu positioniert wird. Dementsprechend
werden in einer Ausführungsform Änderungen
an Rahmengliedern in dem automatischen Neupositionieren von Linealführungen entsprechend
zwei spezifischen Regeln resultieren. Erstens wird jede Linealführung, welche
auf einer Spaltenkante oder einem Seitenrand überlagert ist bzw. wird, gemeinsam
mit dieser Spaltenkante oder dem Seitenrand bewegt werden. Das System
folgert, daß,
wenn der Benützer
in die Schwierigkeit kam, die Linealführung an einer derartigen Stelle
auszurichten, es dann wünschenswert
ist, die Führung
an der neuen Stelle des Rahmenglieds neu zu positionieren. Zweitens
werden beliebige andere Linealführungen
(solche, die nicht an einer Spaltenkante oder einem Seitenrand positioniert
sind) auf der Seite neu positioniert, um ihre relative Position auf
der Seite zu behalten. D.h., eine vertikale Führung auf halbem Weg über die
Seite wird auf halbem Weg über
die Seite enden, nachdem beispielsweise von "hoch" auf "breit" für das Seitenlayout
umgeschaltet wurde.
-
In
einer Ausführungsform
ist das Neupositionieren der Linealführungen durch einen Benutzerregel- bzw.
steuerbar. D.h., der Benützer
kann die oben beschriebenen Vorgaberegeln bestimmen, um das Neupositionieren
von Lineal führungen
in Übereinstimmung
mit Änderungsdaten
zu regeln bzw. steuern, oder kann alternativ die automatische Neupositionierung
der Linealführungen
abschalten. Wenn der Benützer
gewählt hat,
die automatische Neupositionierung der Linealführungen abzuschalten, und dies
in einer Führung
resultiert, welche außerhalb
der Seite endet (wie ein Fall einer horizontalen Führung in
dem oberen Seitenrandbereich, wenn von "hoch" auf "breit" geschaltet wird),
dann wird diese Linealführung
entfernt und jede zuvor damit assoziierte. Objektkante wird zu irgendwelchen
verbleibenden Rahmengliedern angepaßt, welche dieselbe Ausgangsposition
auf der Seite einnehmen.
-
In
einer anderen Ausführungsform
beinhaltet die Bestimmung der Ausrichtung zwei zusätzliche Überlegungen.
Wenn ein Objekt eine linke oder rechte Kante mit dem rechten Seitenrand
ausgerichtet aufweist und dieser rechte Seitenrand ist auch die
rechte Seite der letzten Spalte auf der Seite, würde gewöhnlicherweise dieses Objekt
als mit der Spaltenkante ausgerichtet erachtet, anstatt dem Seitenrand.
Jedoch ist in dieser alternativen Ausführungsform die rechte Kante
des Objekts nur mit der rechten Seite der Spalte assoziiert, wenn die
linke Kante bzw. der linke Rand des Objekts auch mit dieser linken
Seite der Spalte assoziiert ist. D.h., das Objekt wird nur zu der
Spalte gehörend
gedacht, wenn beide Kanten bzw. Ränder zu den Spaltenkanten bzw. -rändern passen.
Andererseits ist die rechte Kante mit dem rechten Seitenrand assoziiert.
Dies erlaubt es Objekten, welche an beiden Seiten mit der Spalte
ausgerichtet sind, mit der Spalte assoziiert zu bleiben, jedoch anderen
Objekten, sich an dem Seitenrand auszurichten. Dies ist in dem Fall
eines Objekts nützlich,
welches die linken und rechten Seitenränder der Seite überspannt.
Zusätzlich
würde,
wenn die linke Kante eines Objekts mit dem rechten Seitenrand ausgerichtet
ist und dieser rechte Seitenrand auch die rechte Seite der letzten
Spalte auf der Seite ist, gewöhnlicherweise
dieses Objekt als mit der Spaltenkante ausgerichtet erachtet, anstatt
dem Seitenrand. Jedoch ist in einer alternativen Ausführungsform
diese linke Kante des Objekts mit dem Seitenrand ausgerichtet, nicht
der Spalte. Dies hindert Objekte, welche in dem rechten Seitenrandbereich mit
einer linken Kante an dem rechten Seitenrand ausgerichtet sind daran,
innerhalb des Spaltenabschnitts der Seite zu enden, wenn neue Spalten
zu der Seite hinzugefügt
werden. Ohne diese spezielle Regel würde das Objekt mit der Spalte
assoziiert bleiben, was sie effektiv veranlassen würde, sich
nach links zu bewegen, wenn die Seite verändert wird, um Spalten hinzuzufügen.
-
In
einer anderen Ausführungsform
werden Textblöcke
(ein besonderer Typ eines Content-Objekts für textliche Information) besonders
behandelt, wenn Spalten zu einer Seite hinzugefügt oder von dieser entfernt werden.
Wenn die ursprüngliche
Seite Spalten beinhaltet, welche Textblöcke beinhalten, und der letzte
Textblock endet an dem Boden der am weitesten rechts befindlichen
Spalte auf der Seite, dann wird bei bzw. nach der Hinzufügung oder
Wegnahme von Spalten von dem Seitenlayout der mit jedem Textblock
assoziierte Text umformatiert, um in die neue Spaltenkonfiguration
einzufließen.
Betrachte eine Seite, welche ursprünglich drei Spalten beinhaltet,
wovon jede Textblöcke
beinhaltet, wobei der Benützer
die Anzahl von Spalten auf vier ändert.
Entsprechend der Regeln von 3 würde ein
jeder der drei Textblöcke
zu den neuen Koordinaten von Spalten eins bei drei bewegt und auf
diese neu dimen sioniert werden, um in Text in jeder Spalte zu resultieren, wobei
der Text umformatiert wäre,
um in den verfügbaren
Raum zu passen, wobei jeder Überlauftext
außerhalb der
Seite gespeichert wäre.
Die neue vierte Spalte wäre
leer, was vermutlich nicht das ist, was der Benützer gewünscht haben würde. Deshalb
wird in dieser Ausführungsform
ein neuer Textblock für
Spalte vier für
den Textinhalt erzeugt, welcher von den ersten drei Spalten "ausgeflossen" wurde, wenn diese
auf der Seite schmäler
wurden.
-
Entfernt
man Spalten von einer Seite, müssen
andere Betrachtungen einbezogen werden. Spezifisch die Beziehung
des Contents bzw. Inhalts (Text) in jedem Textblock, von welchem
vorgeschlagen wird, entfernt zu werden, muß relativ zu dem verbleibenden
Text auf einer Seite überprüft werden.
In unserem obigen Beispiel, wenn eine dreispaltige Seite in zwei
Spalten transformiert werden soll (durch die Entfernung von Spalte drei),
kann oder kann nicht der Textblock, welcher mit der dritten Spalte
assoziiert ist, während
des Neupositionierungsschritts entfernt werden. Wo der Text in dem
Textblock, welcher mit der zu entfernenden Spalte (d.h. Spalte drei)
assoziiert ist, mit anderem Text gefädelt ist, welcher auf der Seite
verbleibt, dann wird das System einen Textblock entfernen, dessen
Spalte ebenfalls entfernt wurde. Ein Fädeln ist der Vorgang eines
Verbindens von assoziierten Textblöcken. Für Textblöcke, welche Text aufweisen,
der nicht gefädelt
ist, resultiert das Entfernen der Spalte nicht im Entfernen des
Textblocks und der Benützer
muß den
Textblock manuell neu positionieren.
-
In
einer anderen Ausführungsform
wird das Neupositionieren von überstehenden
Gliedern besonders handgehabt. Überstehende
Glieder sind Objekte, welche eine oder mehrere Kanten (überstehende
Kanten) außerhalb
der Seite aufweisen. In einer Ausführungsform werden überstehende
Kanten für überstehende
Glieder immer in einem festgelegten Abstand von ihrer benachbarter
Seitenkante gehalten, unabhängig
von den anderen Ausrichtungsregeln, welche oben beschrieben wurden.
D.h., wenn sich eine überstehende
Kante 1 Zoll von der rechten Seite der Seite befindet und die Seitenbreite ändert sich,
dann wird diese überstehende Kante
(und das begleitende überstehende
Glied) neu positioniert, um sich 1 Zoll entfernt von der neuen rechten Seite
der Seite zu befinden.
-
Die
Erfindung kann in Hardware, Firmware oder Software oder einer Kombination
aus den dreien implementiert werden. Vorzugsweise wird die Erfindung
in einem Computerprogramm implementiert, welches auf einem programmierbaren
Computer ausgeführt
wird, der einen Prozessor, ein Datenspeichersystem, flüchtige und
nicht flüchtige
Speicher und/oder Speicher- bzw. Aufbewahrungselemente, wenigstens
eine Eingabevorrichtung und wenigstens eine Ausgabevorrichtung aufweist.
-
Als
Beispiel zeigt 6 ein Blockdiagramm eines programmierbaren
Informationsverarbeitungs-Systems (Computer) 10. Der Computer 10 beinhaltet
vorzugsweise einen Prozessor 20, einen Direktzugriffsspeicher
bzw. Schreib-Lese-Speicher
(RAM) 21, einen Programmspeicher 22 (vorzugsweise
einen beschreibbaren Nur-Lese- bzw. Festspeicher (ROM), wie beispielsweise
ein Flash ROM), einen Festplatten-Controller bzw. eine Festplatten-Regel-
bzw. -Steuereinrichtung 23 und einen Eingabe/Ausgabe-(I/O)-Controller 24,
welche durch einen CPU-Bus 25 gekoppelt sind.
-
Der
Festplatten-Controller 23 ist mit einer Festplatte 30 gekoppelt,
welche zum Speichern von Anwendungsprogrammen, wie beispielsweise
PageMaker, und Daten verwendet werden kann. Der I/O-Controller 24 ist
mittels eines I/O-Bus 26 mit einer I/O-Schnittstelle 27 gekoppelt.
Die I/O-Schnittstelle 27 bzw. das I/O-Interface empfängt und überträgt Daten
in analoger oder digitaler Form über
Kommunikations-Verbindungen,
wie beispielsweise eine serielle Verbindung, ein lokales Netzwerk,
eine drahtlose Verbindung und eine parallele Verbindung. Ebenfalls
an den I/O-Bus 26 gekoppelt ist eine Anzeige 28,
eine Tastatur 29 und eine Zeigevorrichtung (Maus) 31.
Alternativ können
separate bzw. getrennte Verbindungen (separate Busse) für die I/O-Schnittstelle 27,
Anzeige 28, Tastatur 29 und Zeigevorrichtung 30 verwendet
werden. Das programmierbare Verarbeitungssystem 10 kann
vorprogrammiert sein oder es kann programmiert (und neu programmiert) werden
durch ein Downloaden eines Programms von einer anderen Quelle (z.B.
einer Floppy disk bzw. Diskette, CD-ROM oder einem anderen Computer).
-
Jedes
Computerprogramm ist greifbar in einem maschinenlesbaren Speichermedium
oder einer Vorrichtung (z.B. Programmspeicher 22 oder Magnetplatte)
gespeichert, welche durch einen allgemeinen oder programmierbaren
Computer für
spezielle Verwendung lesbar ist, zum Konfigurieren und Regeln bzw.
Steuern des Betriebs eines Computers, wenn das Speichermedium oder
die Vorrichtung durch den Computer gelesen wird, um die hierin beschriebenen
Abläufe
durch zuführen.
Das erfindungsgemäße System
kann auch betrachtet werden, um in einem computerlesbaren Speichermedium
ausgeführt
zu sein, konfiguriert mit einem Computerprogramm, wo das so konfigurierte
Speichermedium einen Computer veranlaßt, auf eine bestimmte und vorbestimmte
Weise zu arbeiten, um die hierin beschriebenen Funktionen durchzuführen.
-
Die
vorliegende Erfindung wurde im Hinblick auf bestimmte Ausführungsformen
beschrieben, welche für
die Erfindung illustrativ sind und nicht als begrenzend ausgelegt
werden sollen. Andere Ausführungsformen befinden
sich innerhalb des Gültigkeitsbereichs
der folgenden Ansprüche.