DE2940897C2 - Digitales Setzgerät - Google Patents

Digitales Setzgerät

Info

Publication number
DE2940897C2
DE2940897C2 DE2940897A DE2940897A DE2940897C2 DE 2940897 C2 DE2940897 C2 DE 2940897C2 DE 2940897 A DE2940897 A DE 2940897A DE 2940897 A DE2940897 A DE 2940897A DE 2940897 C2 DE2940897 C2 DE 2940897C2
Authority
DE
Germany
Prior art keywords
data
character
line
contour
memory
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
Application number
DE2940897A
Other languages
English (en)
Other versions
DE2940897A1 (de
Inventor
Martin M. Scarsdale N.Y. Cohen
Wiley E. Galbraith
Walter I. New York N.Y. Hansen
Louis C. Selden N.Y. Vella
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Linotype Co Ltd
Original Assignee
Allied Corp Morris Township NJ
Allied Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Allied Corp Morris Township NJ, Allied Corp filed Critical Allied Corp Morris Township NJ
Publication of DE2940897A1 publication Critical patent/DE2940897A1/de
Application granted granted Critical
Publication of DE2940897C2 publication Critical patent/DE2940897C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/12Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0011Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0022Generic data access characterised by the storage means used
    • G06K2215/0025Removable memories, e.g. cartridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0034Outline coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0042Rasterisation
    • G06K2215/0045Converting outline to bitmap
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)

Description

20. Gerät nach Anspruch 16, dadurch gekennzeichnet, daß Mittel (Mikroprozessor 92 in Fig. 3) zur Bildung von AX nach folgender Beziehung vorgesehen sind:
AX = (Y5- Yn) (dx/dy)
wobei
Y5 = die Y-Lage der laufenden Rasterlinie hinsichtlich eines Randes des entsprechenden Schriftzeichen-Gevierts,
2u "iN = die Y-Lage des Ausgangspunkts der bestimmten Zeichenkoniur ninsitiiUicn des Räüds des zugehörigen Schriftzeichen-Gevierts, und
dx/dx = die inkrcmentalen X- und Y-Abstände eines geradlinigen Vektors von \, entlang der entsprechenden Zeichenkontur ist.
21. Gerät nach Anspruch 20, dadurch gekennzeichnet, daß Mittel (Mikroprozessor 92 in Fig. 3) zur Bildung von AX nach folgender Beziehung vorgesehen sind:
AX = (\- Xi) (dx/dy +JK)
<u wobei j eine erste Konstante gleich der Anzahl der Rastereinheiten in der X- oder Y-Richtung, ausgedrückt
durch die den 'vert dx/dy darstellende digitale Zahl, und Keine zweite einerganzen Zahl gleiche Konstante ist.
Die vorliegende Erfindung geht aus von einem Gerät zur Erzeugung von Schriftzeichen nach dem Oberbegriff Solche Geräte sind insbesondere Setzgeräte für das graphische Gewerbe.
Bekannte digitale Setzgeräte bilden typographische Schriftzeichen ab, die in digitaler Form kodiert und auf einem beliebigen digitalen Speichermedium, beispielsweise Magnetband, Trommel, fester oder flexibler Scheibe (Floppy Disk) gespeichert sind. Solche digitalen Setzgeräte sind normalerweise mit einer Kathodenstrahlröhre (CRT) oder einem Laserstrahl-Abbildungssystem zur Aufzeichnung der Schriftzeichen auf fotografischen Film oder Papier versehen. Im Falle digitaler CRT-Setzgeräte werden aufeinanderfolgende Schriftzei- chen jeweils einzeln vollständig durch den Strahl der Kathodenstrahlröhre abgebildet, der in zwei Dimensionen durch die X-Y-Ablenkspannungen der Kathodenstrahlröhre positionsgesteuert ist. Normalerweise wird jedes Schriftzeichen aus einer Reihe vertikaler Striche aufgebaut, die ausgehend vom linken Seitenrand des Schriftzeichens aufeinanderfolgend zum rechten Rand wandern. Ist ein Schriftzeichen vollständig aus Strichen aufgebaut, so wird der Strahl der Kathodenstrahlröhre in die Stellung des linken Seitenrands des nächstfolgenden Schrift zeichens gebracht, und so weiter.
In einem anderen bekannten Gerät der eingangs genannten Gattung wird an Stelle des Kathodenstrahlröhren-Abbildungssystems ein Laserstrahl zum Abbilden typografischer Schriftzeichen auf einem Film oder Papier verwendet. In diesem Fall wird der das Schriftzeichen schreibende Strahl in einer einzigen Linie über die gesamte Breite des Ausgangsfilms oder -papiers ausgelenkt, und das belichtete Material wird in einer Richtung quer zur Richtung der Abtastlinie bewegt. Für ein solches Abbildungssystem auf Laserbasis müssen die Strahlschaltpunkte berechnet werden, damit der abtastende Strahl rasch ein- und ausgeschaltet werden kann. Zur Lösung dieses Problems werden die Schriftzeichen eines jeden Schriftzeichensatzes als digitale Vorlage für jede zu setzende Typengröße digital umgesetzt. Auf diese Weise können die kodierten Schriftzeicheninformationen direkt, insbesondere ohne Maßstabsänderung, die normalerweise umfangteiche Berechnungen erfordert, ver arbeitet werden. Der Nachteil dieser Anordnung liegt darin, daß zum Abbilden der Schriftzeichen in der gewünschten Typengröße in dem Gerät jeweils ein gesamter Schriftzeichensatz zur Verfügung stehen muß. Dies führt zu einem großen Speicherraumbedarf des Geräts oder macht erforderlich, daß das Gerät dann mit einem anderen digital kodierten Schriftzeichensau auszustatten ist, wenn eine andere Typengröße oder ein anderer Schriftzeichensatz verwendet werden soll.
In einem bekannten Gerät, einem Rechnerausgabegerät, werden Schriftzeichen mit einem rotierenden Polygonspiegel auf Mikrofilm durch Projektion eines Laserstrahls in horizontalen Rasterlinien zusammengesetzt. Hierzu werden binär kodierte Schriftzeichen von einer Datenverarbeitungseinheit, nämiieh einem Computer in einem Umlaufspeicher gespeichert, in dem sie jeweils einmal während des Überstreichens je einer horizontalen
D 4U W I
Rasterlinie mittels des Laserstrahls umlaufen und aus dem sie in einen Schriftzeichengcncrator eingespeist werden. Der Schriftzeichengenerator bildet aufeinanderfolgend Reihen von Signalformen, die einem horizontalen Abschnitt jedes Schriftzeichens entsprechen und einen Lasermodulator steuern. Der Abschnitt wird somit wahrend jeder horizontalen Rasterlinie durch Modulation des Laserstrahls mit den Signalformcη aufgezeichnet. Der SchrilV/cichungcncnilcir ist fest verdrahtet und stellt Schrift/eichen eines Schrift/cithensni/cs in nur einer < SchiillKiiHle ilur. Die Schriftzeichen werden ims einer in ihm gespeicherten l'olgc von Punkten uiul hnii/oMlnlen Linien gebildet. - Die Datenvcrarbeitungseinhcit dient «ils hingubcmitlcl /ur Hcrcilsiclking eislcr digiliilcr DE'.-n, die Identität und Lage der Schriftzeichen definieren. Diese Daten enthalten aber keine Informationen über die Größe der Schriftzeichen, da diese durch den Schriftzeichengenerator festliegt. - Dieses Gerät zur Erzeugung von Schriftzeichen aus Rasterlinien ist nicht flexibel insbesondere für die verschiedenen Belange der Satzherstellung einsetzbar, da die Schriftzeichen in dem Schriftzeichengenerator fest vorgegeben sind. Bei vertretbarem Speicheraufwand ist die Zahl der verfügbaren abbildbaren Schriftzeichen gering, im vorliegenden Fall auf einen Schriftzeichensatz einer Schriftzeichengröße beschränkt. Die Eigenart dieses Schriftzeichengenerators bedingt darüber hinaus eine verhältnismäßig grobe Darstellung der Schriftzeichen mit dem Laserstrahl, so daß dieses Gerät für typographisch anspruchsvolle Aufgaben ungeeignet erscheint. is
Die gleichen Nachteile treffen für einen bekannten Drucker als Computerperipheriegerät zu (US-PS 40 31 519). In diesem Drucker, der dem voranstehend erörterten Gerät in vielem entspricht, werden nur 64 druckbare Buchstaben in dem Schriftzeichenspeicher gespeichert, die - ohne Veränderung ihrer Größe - ausgewählt werden, um den Laserstrahlmodiilafnr 7u steuern. Zur Speicherung jedes dieser Schriftzeichen wird eine bit-Anordnung eingesetzt, in der die Schriftzeichen Punkt für Punkt durch Anwesenheit oder Fehlen einer Markierung gespeichert sind. Diese Speichertechnik ist äußerst aufwendig, um digitalisierte Schriftzeicheninformationen zu speichern. Demzufolge kann nur ein sehr grobes Schriftzeichenraster kodiert werden, welches bei vertretbarem Aufwand typographischen Erfordernissen nicht genügt. Der Aufwand wird noch wesentlich größer, wenn Schriftzeichen unterschiedlicher Größe abgebildet werden sollen.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Gerät der in dem Oberbegriff des Anspruchs 1 genannten Gattung so zu verbessern, daß Schriftzeichen unterschiedlicher Größe mit hohem Auflösungsvermögen und bei geringem Speicherbedarf abrufbar sind. Damit soll sich das Gerät insbesondere zur Herstellung typographisch anspruchsvollen Satzes eignen.
Diese Aufgabe wird durch die in dem kennzeichnenden Teil des neuen Hauptanspruchs angegebene Erfindung gelöst.
j ie ist besonders vorteilhaft bei Geräten zur Erzeugung von Schriftzeichen aus Laser-Rasterlinien, von denen jede linien- oder punktförmige Abschnitte mehrerer Schriftzeichen in einer Zeile darstellen kann, einsetzbar.
Bevorzugt erstrecken sich Rasterlinien im wesentlichen über die gesamte Breite des Druckmediums, das mindestens die Größe einer üblichen maschinengeschriebenen Seite aufweist. Das Druckmedium kann aus Papier bestehen, das auf übliche Weise zur KJebemontage oder zur Herstellung von Bürokopien verwendet werden kann; das Druckmedium kann aber auch aus einer Druckplatte bestehen.
Die Typengröße, d. h. der Schriftgrad, ist hier nicht mit den digitalen Daten, die die Kontur der Schriftzeichen beinhaltet, festgelegt, sondern kann mit den ersten digitalen Daten bestimmt werden. - Die zweiten digitalen Daten definieren die Kontur- oder Umfangslinie jedes Schriftzeichens eines gegebenen Schriftzeichensatzes in bezug auf ein vorgegebenes Koordinatensystem. Das Koordinatensystem oder der normalisierte Kodiersatz ist für alle Schriftzeichen aller Schriftzeichensätze der gleiche und wird zur Erzeugung der Schriftzeichen aller unterschiedlichen Größen oder Schriftgrade verwendet. Die Schrifthöhe und -weite jedes Schriftzeichens kann nach Belieben vergrößert oder verkleinert werden, ohne Rücksicht auf die Koordinaten, in denen die Schriftzeichen kodiert sind.
Gemäß Anspruch 2 sind Rasterlinien-Speichermittel vorgesehen, in die den Rasterstrahl steuernde dritte Daten eingespeichert werden. Durch die Steuerung wird ein Strahl, vorzugsweise ein Laserstrahl, der die Rasterlinie erzeugt, ein- und ausgeschaltet, während er über das Dmckmedium geführt wird. Die in dem Rasterlinicnspeicher gespeicherten dritten Daten sind in den elektronischen Datenverarbeitungsmitteln aus den ersten und zweiten digitalen Daten se errechnet worden, daß sie unter Berücksichtigung der Größe der zu setzenden Schriftzeichen die Schnittstellen der Umrisse mehrerer Schriftzeichen, vorzugsweise sämtlicher Schriftzeichen innerhalb einer Zeile, mit jeweils einer Rasterlinie bestimmen. Die Schriftzeichen werden dabei also mit Rasterlinien, die parallel zur Zeilenrichtung liegen, in der Weise gesetzt, daß die Umschaltepunkte zur Umsteuerung des Laserstrahls (Hellsteuerung) entsprechend der Schriftgroße verändert werden, wobei sich die Veränderung der Umschaltpunkte, beispielsweise eines ersten Schriftzeichens innerhalb der Zeile auch auf die Umschaltpunkte der nachfolgenden Schriftzeichen innerhalb der Zeile auswirkt. Dadurch wird eine wesentlich verbes- serte Gesamtwirkung des Geräts erzielt. In dem Gerät werden die dritten digitalen Daten für mindestens einen Teil der Rasterlinien, die sich über die Breite mehrerer Schriftzeichen erstrecken, vorübergehend in einem Rasterlinien-Speicherpuffer gespeichert. Die mit dem Rasterlinien-Speicherpuffer verbundenen Schriftzeichenabbildungsmittel sind zur Abbildung aufeinanderfolgender Rasterlinien auf einem Dmckmedium vorgesehen. Zur Bewegung des Druckmediums in einer Richtung quer zur Rasterlinie sind Antriebsmittel vorgesehen.
Der Liniempeicherpuffer enthält vorzugsweise zwei Linienpuffer, von denen jeder aus einer Vielzahl von Speicherelementen aufgebaut ist, von denen jedes eine einzelne Binärzahl speichert, die mit einem entsprechenden Rasterpunkt auf der Rasterlinie korrespondiert Die Binärzahlen im ersten Linienpuffer können also Positionen auf der Rasterlinie darstellen, bei welchen der Abtaststrahl abgeschaltet werden soll. Der Linienspeicherpuffer kann außerdem einen dritten Linienpuffer enthalten, der mit den anderen zwei identisch ist Die Binärzahlen in diesem dritten Linienpuffer können somit die Positionen auf der Rasterlinie darstellen, bei der der Ein- und Ausschaltzustand des Strahls umgekehrt werden soll, so daß eine Tonwertumkehr für eine gesamte Seite oder einen geradlinigen Teil derselben bewirkt wird.
tu oy ι
Die ersten, Identität, Form, Größe und Lage der zu setzenden Schriftzeichen definierenden digitalen Daten können von einem Rechnersystem (mit angeschlossenem Setzgerät) oder von einem Speichermedium, beispielsweise einer Magnetscheibe, stammen. Die zweiten digitalen Daton werden vorzugsweise auf einem magnetischen Aufzeichnungsträger, beispielsweise einer Magnetscheibe, gespeichert.
5 Die Art und Weise, in der die zweiten digitalen Daten die Kontur eines jeden Schriftzeichens eines Schriftzeichensatzes definieren, soll im folgenden beschrieben werden. Diese zweiten digitalen Daten enthalten im wesentlichen Digitalzahlcn, die die X- und Y-Koordinaten der Ausgangspunkte der Zeichenkonturen definieren, sowie Digitalzahlen, die die Länge und die Richtung einer Vielzahl geradliniger Vektoren, die sich aufeinanderfolgend vm den Ausgangspunkten entlang den Zeichenkonturen erstrecken, definieren. Länge und Rich-IO tung eines jeden Vektors werden durch den ersten Koordinatenabstand X und den zweiten Koordinatenabstand Y von einem Vektorende zum anderen dargestellt.
Nach einem bevorzugten Merkmal der vorliegenden Erfindung sind die die Vektoren definierenden Digitalzahlen so angeordnet, daß die Vektoren einer gesamten Zeichenfolge aufeinanderfolgend angegeben werden, bevor die Vektoren einer weiteren Zeichenfolge definiert werden. Die zweiten digitalen Daten enthalten zusätz-15 lieh weitere mit den die Koordinaten eines jeden Ausgangspunkts definierenden Digitalzahlen zusammenhängende Digitalzahlen, die die Ausgangsadressen der die Vektoren der zugehörigen Zeichenfolge definierenden Digitalzahlen darstellen. Auf diese Weise kann eine einzelne Vektor-Zeichenfolge von einer Vielzahl von Ausgangspunkten innerhalb eines Schriftzeichensatzes adressiert werden. Schließlich ist es zweckmäßig, wenn die die Koordinaten eines Ausgangspunkts definierenden Digitalzahlen weiterhin den Quadranten (links oder 20 rechts) mindestens des ersten Vektor« der damit zusammenhängenden sdrsssisrtsn Vsktcr-Zcichcnfolgc bestimmen.
Schriftzeichen-Entwerfer neigen dazu, einige wenige Schriftzeichen-Grundformen zu schaffen, die im ganzen Satz direkt oder spiegelbildlich wiederholt werden. Überlegungen zur Übereinstimmung erfordern, daß einige 1 " wenige Formen im gesamten Satz wiederholt werden, während es die Symmetrie erfordert, daß das Spiegelbild
25 verwendet wird. Die zur digitalen Definition der Schriftzeichen verwendeten Vektor-Zeichenfolgen gestatten es, ; daß die Mengen der zur Definition eines gesamten Schriftzeichensatzes erforderlichen Daten erheblich vermin-
/ '■■ dert wird, da eine einzelne Vektor-Zeichenfolge von den Ausgangspunkten verschiedener Schriftzeichen adressiert und so gerichtet werden kann, daß sie sich nach links oder nach rechts erstreckt, so daß Spiegelbilder gebildet werden.
·; 30 Das in dem Setzgerät verwendete elektronische Datenverarbeitungssystem enthält vorzugsweise einen Speicher mit willkürlichem Zugriff zur Speicherung vierter digitaler Daten, ein Datenverwaltungs-Untersyttem zum : Empfangen und Speichern der vierten digitalen Daten im Speicher mit willkürlichem Zugriff, sowie ein Kontu-
','; renumsetzer-Untersystcm zum Empfangen der vierten digitalen Daten aus dem Speicher mit willkürlichem
,, Zugriff und zum Errechnen der die die Rasterlinie schneidenden Schriftzeichenumgrenzungen definierenden
.;■; 35 dritten digitalen Daten aus diesen vierten digitalen Daten. Die Art und Weise, in der die vierten digitalen Daten ■;i verarbeitet und gespeichert und sodann in die dritten digitalen Daten umgewandelt werden, wird im folgenden
im einzelnen behandelt.
'-J1 Die Erfindung wird im folgenden anhand der Zeichnung näher erläutert:
7 Fig. 1 ist ein Blickschaltbild der gesamten Setzanordnung nach der vorliegenden Erfindung;
40 Fig. 2 ist ein schematisches Diagramm eines eindimensionalen Abtasters (Laserrecorder), der im System V nach Fig. 1 verwendet werden kann;
I,: Fig. 3 ist ein Blockschaltbild des Ausgabedatenverarbeitungssysiems in der Anordnung nach Fig I;
j? ■ F i g. 4 ist ein Blockschaltbild der Datenverwaltungs-Unteranordnung im Ausgabedaten-Verarbeitungssystem
;, nach Fig. 3;
Ji 45 Fig. 5 ist ein Blockschaltbild des Konturenumsetzer-Untersystems in der Ausgabedaten-Verarbeitungsanordii nung nach Fig. 3;
:; Fi g. 6 ist ein Diagramm, das die Struktur des Schriftspeichers in der Schriftsatzspeichereinheit in der Anord-
;;| nung nach Fig. 1 darstellt;
P Fig. 7 ist ein Diagramm, das die Struktur des Schriftsteuerspeichers im Schriftspeicher nach Fig. 6 darstellt;
■' 50 F i g. 8 ist ein Diagramm, das die Struktur des Schriftbreitenspeichers im Schriftspeicher nach F i g. 6 darstellt;
I Fig. 9 ist ein Diagramm, das zeigt, wie die im Schriftspeicher enthaltenen Schriftzeichendaten skaliert wer-
II den;
|5 Fig-10 ist ein Diagramm, das die Struktur der im Konturendatenspeicher im Schriftspeicher nach Fig. 6 ent-
r| haltenen Konturendatenwörter zeigt;
j§ 55 Fig. 11 ist ein Diagramm, das zeigt, wie der Konturendatenspeicher auf einer Magnetscheibe angeordnet ist; I Fig. 12 ist ein Diagramm, das die Struktur der im Konturendatenspeicher nach F ig. 11 enthaltenen Kopf-und
|| Konturendaten zeigt;
?i F i g. 13 ist ein Diagramm, das die Eingabekodestruktur der Terminalelemente zeigt, die vom Eingabesystem
:| zu einer Schriftsatzdatenübertragung abgesendet werden;
l| 60 Fig. 14 enthält ein Flußdiagramm, das das Wirkungsprinzip des Datenverwaltungs-Untersystems und des % Konturenumsetzer-Untersystems zeigt;
Iy: Fig. 15 ist ein Flußdiagramm für den Aufbau der Daten im Datenspeicher mit willkürlichem Zugriff RAM im
j| Datenverwaltungs-Untersystem;
§ Fig. 16 ist ein Diagramm der Anordnung der Daten im Datenspeicher mit willkürlichem Zugriff RAM;
I 65 Fig. 17 ist ein Diagramm, das die Struktur der Konturendaten im Datenspeicher mit willkürlichem Zugriff Ί RAM zeigt;
Fig. 18 ist ein Diagramm, das die in der durch das Ausgabedaten-Verarbeitungssystem durchgerührten Grundberechnung verwendeten Parameter zeigt;
Fig. 19 ist ein Diagramm, das die Daten- und Steuereingaben für den fest verdrahteten Prozessor im Konturenumsetzer-Untersystem zeigt;
Fig. ?0A und 20B sind funktioneile Blockschaltbilder des festverdrahteten Prozessors mit den Ausgangsdaten-(Rasterzeilen)-Speicherpuffern;
Fig. 21 ist Blockschaltbild, das die Hauptabschnitte des festverdrahteten Prozessors zeigt; >
Fig. 22 ist ein Blockschaltbild der Daten- und Steuerpuffer und des Speicherabschnitts des festverirahteten Prozessors nach Fig. 21;
Fig. 23 ist ein Blockschaltbild des Adressenrechnungsabschnitts im Ausgangsdatenpuffer des festverdrahtaten Prozessors nach Fig. 21, und
Fig. 24 ist ein Blockschaltbild des Ausgabepuffers und des Videologikabschnitts des festverdrahteten Prozessors nach Fig. 21.
Unter Bezugnahme auf die Fig. 1 bis 24 der Zeichnungen soll nun die bevorzugte Ausführungsform der vorliegenden Erfindung beschrieben werden. In den verschiedenen Figuren gezeigte identische Elemente sind mit der gleichen Bezugszahl gekennzeichnet.
Das gesamte erfindungsgemäße System ist in Blockform in Fig. 1 dargestellt. Dieses allgemeine System ist in is eine Eingabevorrichtung, die Instruktionen, Schriftzeicheninformationen und Schriftsatzdaten von getrennten Quellen 30 und 32liefert, und ein Ausgabedaten-Verarbeitungssystem 34, das ein Schriftzeichenabbildungssystem 36 ansteuert, unterteilt.
Die Eingabevorrichtung kann ein Papierstreifen- oder Magnetband-Peser, ein getrennter Rechner, ein Eingabetermina! mit einer Tastatur und einem Kathodenstrahlrohrschirm oder ein Datenübertragungskanal, wie z. B. eine Telcronleitung, sein. Diese Eingabevorrichtung 30 liefert dem Verarbeitungssystem 34 digitale Daten, die Identität, Form, Größe und Lage der zu setzenden Schriftzeichen definieren. Der Ausdruck »Identität« von Schriftzeichen, wie hier verwendet, bezeichnet ein bestimmtes gewähltes Schriftzeichen, beispielsweise ein großes »A«, ein kleines »a«, ein großes »B«, die Ziffer »5«, den Strichpunkt»;« usw. Diese Identität wird durch einen ASCII- oder TTS-Kode gegeben. Der Ausdruck »Form«, wie hier verwendet, soll die Form eines Schriftzeichens, d. h. den speziellen Schriftzeichensatz und die Größe und Richtung der Neigung, bestimmen. Der Ausdruck »Größe«, wie hier verwendet, soll die Größe in der X-Richtung (»Setzbreite«) und in der Y-Richtung (»Punktgröße«) jedes Schriftzeichens bestimmen. Der Ausdruck »Lage«, wie hier verwendet, soll die Koordinatenlage (X, Y) des Schriftzeichens auf der zu setzenden Seite bestimmen In dieser speziellen Ausfuhrungsform bestimmt die Eingabevorrichtung 30 die X-Lage und die Y-Lage der oberen linken Ecke des Geviertes, riiindestens des ersten Schriftzeichens auf der Seite. Die folgenden Schriftzeichen werden im Verhältnis zu dem unmittelbar vorausgehenden Schriftzeichen angeordnet, wenn keine Lageipformation gegeben ist.
Zusätzlich zu Identität, Form, Größe und Lage der Schriftzeichen kann die Eingabevorrichtung 30 auch Seitenvarianteninformation liefern, d. h. »globale Kommandos«, die sich auf alle oder nur eine Gruppe von Schriftzeichen auf einer Seite beziehen. Beispiele solcher Kommandos sind »fehlerhafte Ableseung«, die ein Links-Rechts-Spiegelbild auf der Seite durch Überspringen der X-Positionen aller Schriftzeichen beeinflußt, und »Umkehrvideo«, das eine Helligkeitsumkehr für eine ganze Seite beeinflußt. Mit Umkehrvideo kann beispielsweise eine Seite als weiß auf schwarz, nicht schwarz auf weiß, abgebildet werden.
Kommandos von der Eingabevorrichtung 30 können auch eine Helligkeitsumkehr für einen Abschnitt einer Seite beeinflussen, so daß nur ein geradliniger begrenzter Teil der Seite weiß auf schwarz und nicht schwarz auf weiß ist.
Die Schriftsatzspeichereinheit 32 ist im wesentlichen ein Magnetscheibenleser, der Teil der Eingabevorrichtung 30sein kann. Diese Schriftsatzspeichereinheit liefert dem Ausgabe-Verarbeitungssystem 34 digitale Daten, die den von der Eingabevorrichtung 30 zuvor gewählten Schriftzeichensatz definiert. Diese »zweiten« di£valen Daten (zum Unterschied von den »ersten« von der Eingabevorrichtung 30 gelieferten digitalen Daten) definieren die Kontur jedes Schriftzeichens eines Schriftzeichensatzes hinsichtlich eines normalisierten Kodiersatzes erster und zweiter Koordinaten. Diese zweiten digitalen Daten definieren insbesondere die Profile öder Schwarz-Weiß-Grenzen eines jeden Schriftzeichens. Wird ein »Profil« einfach als eine Umgrenzung eines Schriftzeichens betrachtet, so zeigt es sich, daß jeder »dunkle« Teil eines Schriftzeichens (wenn das Schriftzeichen dunkel auf einem hellen Untergrund ist) zwischen zwei Profilen (äußeren Umgrenzugen oder Rändern) des Schriftzeichens liegen muß. Durch definieren aller Profile des Schriftzeichens hinsichtlich eines Koordiriatensatzes ist die »Kontur«, Umgrenzung oder Form des Schriftzeichens vollständig definiert.
Ein Aspekt dieser zweiten digitalen Daten, die die Kontur eines jeden Schriftzeichens eines Sehriftzeichensatzes definieren, ist, daß die Schriftzeichenkonturen in Werten eines normierten Koordinatensatzes, beispielsweise der X-Y-Koordinaten eines kartesischen Koordinatensatzes, definiert werden. Der Ausdruck »normiert«, wie hier verwendet, bedeutet, daß die Definition eines Schriftzeichens in den Werten des Koordinatensatzes lediglich auf eine beliebig gegebene absolute Größe oder eine endgültige Größe des Schriftzeichens, wenn es abgebildet wird, bezogen ist. Die digitalen Werte, die ein Schriftzeichen in diesem normierten Koordinatensatz definieren, sind also die Werte, von denen ausgehend das Schriftzeichen nach oben oder nach unten bis zur endgültigen Ausgangsauflösung maßstäblich verändert wird. Wenn der Skalenfaktor nicht gerade gleich I ist (eine i>o einmalige Situation), wird das Schriftzeichen mit einer anderen Auflösung als die endgültige Ausgabegröße definiert.
Das Ausgabedaten-Verarbeitungssystem 34, das im folgendem im einzelnen beschrieben werden soll, ist beispielsweise in der Lage, Schriftzeichen mit Punktgrößen von größenordnungsmäßig 3-130 im Maßstab zu verändern, ein Ausdehnungsfaktor von 43 zu 1. Unabhängig von diesem Umfang von Punktgrößen wird die Kontur eines jeden Schriftzeichens nur einmal hinsichtlich des normierten Kodiersatzes der Koordinaten definiert. Das Ausgabedaten-Verarbeitungssystem 34 empfängt die ersten Identität, Form, Größe und Lage der zu setzenden Schriftzeichen definierenden digitalen Daten und die zweiten die Kontur eines jeden Schriftzeichens des
gewählten Schriftzeichensatzes definierenden digitalen Daten und erzeugt dritte, eine Rasterzeile sehne: dende Schriftzeichenumgrenzungen definierende digitale Daten. Diese dritten digitalen Daten sind in einem oder mehreren ebenfalls innerhalb des Ausgsbedaten-Verarbeitungssyrtems angeordneten Rasterlinienpuffern fertig fur das Schriftzeichenabbildungssystem 36 gespeichert Der oder die Rasterlinien-Speicherpuffer sind vor- zugsweise aus binären Speicherelementen aufgebaut, von denen jedes eine einzelene Binärzahl speichert, die
mit einem entsprechenden einzelnen Rasterpunkt auf der Rasterzeile korrespondiert Der oder die Zeilenpuffer !:
speichern genügend Raster (dritte digitale Daten) für einen Teil der Rasterlinie, die sich entlang der Breite mindestens mehrerer Schriftzeichen ausdehnt Tatsächlich speichern der oder die Zeilenpuffer vorzugsweise ausreichend Daten, um eine gesamte Rasterlinie, die sich über die gesamte Breite des Abgabedruckmediums :
ίο erstreckt definieren zu können, was beispielsweise mindestens die Größe einer üblichen maschinengeschriebe-
nen Seite ausmachen kann. '
Die in dem oder den Rasterlinien-SpeicherpufTer(n) gespeicherte Information wird durch ein mit den Ausgabedaten-Verarbeitungssystem 34 verbundenes Schriftzeichenabbildungssystem 36 in ein Rasterzeilenbild !
umgewandelt Dieses Schriftzeichenabbildungssystem erzeugt auf einem Druckmedium ein Bild für die spe-
is zielle Rasterlinie, die durch die in dem oder den Rasterlinien-Speicherpufler(n) gespeicherte Information definiert ist Zur Bewegung des Druckmediums in einer Richtung quer zur Richtung der abgebildeten Rasterlinie ist im Schriftzeichenabbildungssystem gleichzeitig ein Antriebsmechanismus vorgesehen. Ά
Das Schriftzeichenabbildungssystem kann mehrere Mittel zur Erzeugung einer ganzen Rasterlinie auf einmal |
aufweisen. Vorzugsweise enthält das Schriftzeichenabbildungssystem jedoch eine Vorrichtung, beispielsweise ;y
eine Kathodenstrahlröhre oder eine Laserquelle, zur Erzeugung eines Abtaststrahls sowie Mittel, beispielsweise .?■
Strahlablenkschaltungen oder einen bewegbaren Spiegel, zur Bewegung des Abtaststrahls in einer Abtastlinie J
über dem Druckmedium. Ein derartiger eindimensionaler Abtaster ist in Fig. 2 dargestellt '
F i g. 2 zeigt eine Laserquelle 38, die einen optischen Strahl 40 erzeugt Der Strahl wandert durch einen Lichtmodulator 42, beispielsweise einen akustisch-optischen Modulator, der den Strahl durch ein Videosteuersignal 44 ein- und ausschaltet. Dieses Signal wird im Ausgabedaten-Verarbeitungssystem 34 als zeitliche Funktion der in dem oder den Rasterlinien-SpeicherpulTer(n) gespeicherten dritten digitalen Daten erzeugt Der vom Verschluß ausgehende intermittierende Strahl 40 wird zu einem bewegbaren Spiegel 46 geführt, der sich um eine Achse 48 parallel zur Spiegelebene und senkrecht zur Zeichnungsebene wiederholend vorwärts und rückwärts bewegt. Der Spiegel 46 wird durch einen GaI vanometermctor angetrieben, de." den Spiegel bei im wesentlichen
;o konstanter Winkelgeschwindigkeit in einer Richtung bewegt den Spiegel schnell in die Ausgangslage zurück- :
bringt und diesen Abtastvorgang nach Eingang des nächsten Triggerimpulses auf Leitung 50 wiederholt.
Der Strahl wird vom Spiegel 46 reflektiert und wandert durch ein krümmungsreduzierendes optisches System 52, das ihn auf ein geeignetes Aufzeichnungs- oder Druckmedium 54 fokussiert. Der Zweck des krümmungsreduzierenden optischen Systems sowie ein spezielles System, das mit dem in F i g. 2 gezeigten Laserrecorder ver- wendet werden kann, ist in der DE-OS 24 38 353 (US-Patentschrift 38 81 801) beschrieben. Das mit dem Laserrecorder von Fig. 2 verwendete Druckmedium 54 kann ein fotografischer oder elektrofotographischer Film oder Papier sein, das gegenüber der speziellen Lichtfrequenz des Laserstrahls empfindlich ist Dieses Druckmedium wird, vorzugsweise während der Rückbewegung des Spiegels 46, in einer Richtung quer zur Richtung der Strahlabtastlinie bewegt. Das Druckmedium wird durch eine Vorschubwalze 56 und einen Antriebsmo- tor 58 auf Grund eines Triggerimpulses auf Leitung 60 fortbewegt. Dieser Triggerimpuls wird ähnlich durch das Ausgabedaten-Verarbeitungssystem 34 als zeitverschobene Version des Triggerimpulses auf Leitung 50.
Allgemein ist dann ersichtlich, daS die Funktion des Ausgabedaten-Verarbeitungssystems darin liegt, die aus der Eingabevorrichtung 30 und der Schriftsatzspeichereinheit 32 empfangenen ersten und zweiten digitalen Daten in dritte digitale Daten umzuwandeln, die zweckmäßigerweise zur Steuerung des Schriftzeichenabbil dungssystems 36 verwendet werden können. Der Aufbau der vom Ausgabedaten-Verarbeitungssystem empfan genen ersten und zweiten digitalen Daten wie auch der Struktur des Ausgabedatenverarbeitungssystems soll nun unter Bezugnahme auf die Fig. 3-23 im einzelnen beschrieben werden. Die Beschreibung wurde der besseren Übersicht halber in getrennte Abschnitte wie folgt unterteilt:
1. Ausgabedatenverarbeitungssystem
1.1 Allgemeines
1.2 Datenverwaltungs-Untersystem DMS
1.3 Konturenumsetzer-Untersystem OCS
2. Beschreibung der Schriltsatzdaten
2.1 Allgemeines
2.2 Schriftsteuerspeicher 2.2.1 Anzahl der Schriftzeichen 2.2.3 Zahl der Schriftzeichen in 16 K
2.2.4 Zahl der Schriftzeichen in 32 K
2.2.5 Zahl der Schriftzeichen in 48 K
2.2.6 Zahl der Sektoren, letzter Speicher mit willkürlichem Zugriff
2.2.7 Y MIN
2.2.8 YMAX
2.2.9 Verschiebung zur Schriftlinie bei Akzenten und auf Großbuchstaben
2.2.10 Verschiebung des Akzents bei Kursivzeichen Nr. 0
2 2.11 Vorschii-huim /ur Schriftlinic/ausgepriigte Exponent/eichen
2.2.12 Verschiebung /ur Schriniinic/Ziihlcr bei Bruchzahlen
29 40 897 Allgemeines > 5
2.2.12 Verschiebung zur Schriftlinie/Indexzeichen auf Exponentzeichen .1 Seitendaten
2.2.14 Verschiebung zur Schriftlinie/lndsxzeichen auf Indexzeichen .2 Schriftzeichensatz-Daten
2.2.15 Verschiebung zur Schriftlinie/Exponentzeichen 1. Ordnung .3 andere Daten
2.2.16 Verschiebung zur Schriftlinie/Indexzeichen 1. Ordnung .4 Notation
2.2.17 Verschiebung zur Schriftlinie/Exponentzeichen auf Exponentzeichen .4.1 »«Terminal 10
2.2.18 Verschiebung zur Schriftlinie/Exponentzeichen auf Indexzeichen .4.2 () Non-terminal
2.2.19 geringer Zwischenraum .4.3 () Fakultative Wiederholungen
2.2.20 Zwischenraum En 4.1.4.4 / Entweder-Oder
2.2.21 Geviert-Zwischenraum (Em) 4.1.4.5 * Nur einmal
2.222 Verschiebung zur Schriftlinie/Nenner bei Bruchzahlen 4.2 Seiten-Daten 15
2223 Seriennummer 4.1
2.2.24 Akzentverschiebung bei Kursivzeichen Nr. 1 !.1 Struktur der Seiten-Daten
2.225 Akzentverschiebung bei Kursivzeichen Nr. 2
2.2.26 Akzentverschiebung bei Kursivzeichen Nr. 3
2.2.27 Akzentverschiebung bei Kursivzeichen Nr. 4 20
2.2.28 Kapitälchen, %
2.2.29 Reserven
2.2.30 Schriftsatz-Layout-Nummer
2.2.31 Nummer der Schriftsatz-Vorlage
2.2.33 Ausführliche Beschreibung des Schriftzeichensatzes 25
2.2.34 Willkürliche Füllzeichen
2.2.35 Anschlußadresse
2.3 Schriübreitespeicher
2.3.1 Einheiten-Breite
2.3.2 Kennzeichenbreite 30
2.3.3 Anschlußadresse
2.4 Schriftzeichen-Digitalisierung
2.4.1 Schriftzeichen-Definitionen
2.4.2 Skala
2.4.3 Konturen-Datenwörter 35
2.4.4 Struktur des Konturen-Datenspeichers
2.4.4.1 FSIZE
2.4.4.2 CINDEX
2.4.4.3 ENDFNT
2.4.4.4 Sektorfüller 40
2.4.4.5 Anfangsetikett- und Konturendaten
2.3.3.6 Anfangsetikettspeicher
2.4.4.7 Konturenspeicher
2.4.4.8 CHKSUM
2.4.5 Profil-Zeichenfolgen 45
2.4.6 Verschiedenes
2.5 Schriftzeichensatz-RAM-Format
2.5.1 In-RAM-Tabelle
2.5.2 In-Seg-Tabelle 50
3. Beschreibung der Seitendaten
3.1 Definition der Seiten
3.2 Seitenvarianten
3.2.1 Hohe Auflösung
3.2.2 Prüfseite 55
3.2.3 Seitenbreite
3.2.4 Fehlerhafte Ablesung
3.2.5 Umkehrvideo
3.2.6 Zeilenlinie 60
4. Eingabesystem-Schnittstellenbestimmungen
4.
4.
4.
4, 65 Η
4. ι <
4. '[
4. '.'■''
4.
4.2.1.1 Schriftzeichensets
4.2.12 Umkehrvideosets 4.2.1.3 Zeiienliniensets 422 Eingabekode/Terminalelcmente 4.2.2.1 (SEG*) = »SEG*<
4.2.2.2 (YPOS) = »YPOS« 4223 (XPOS) = »XPOS« 422.4 (YLOW) = »YLOW« 4.2.2.5 (FONT) = »FONT« 42.2.6 (CHAR) = »CHAR«
4.2.2.7 (PT SIZE) = »PT SIZE«
4.2.2.8 (SET WIDTH) = »SET WIDTH« bzw. Setzbreite
4.2.2.9 (LR CODE) = »LR CODE«
4.2.2.10 (SLANT) = »SLANT« bzw. Neigen 4.2.2.i 1 (RV CODE) = »RV CODE«
4.2.2.12 (YEND) = »YEND« (XEND) = »XEND«
4.2.2.13 »ENDSEG« 4.2-2.14 »ENDPAGE«
4.3 Schriftzeichensatz-Daten
4.3.1 Struktur der Schriftzeichensatz-Daten
4.3.2 Eingabekode/Terminalelemente 4.32.1 (CHAR) = »CHAR« 4.3.2.2 (»OUTLINES) 4.3.2.3 »END FONT«
5. Datenspeicher mit willkürlichem Zugriff (DATA RAM)
5.1 Allgemeines
5.2 Aufbau des Datenspeichers mit willkürlichem Zugriff 5.3 Datenspeicher-Format
5.3.1 Seitenstruktur
5.3.2 Zcilensegmentspeicher
5.3.2.1 Schriftzeichon-Seti'-n
5.3.2.2 Umkehrvideo Setzen 5.3.3 Konturenspeicher 5.4 Terminalelemente
5.4.1 [OUTLINE ADDRESS] = »outline address« bzw. Adresse der Umgrenzung
5.4.2 [YPOS] = »YPOS«
5.4.2.1 [ZERO DATA WORD] = »ZERO DATA WORD« bzw. Nulldatenwort
5.4.3 [YACC HIGH] = »YACC HIGH«
5.4.3.1 [YACC LOW] = »YACC LOW«
5.4.4 [XPOS] = »XPOS«
5.4.5 [NULL] = »NULL«
5.4.6 [A Ys HIGH] = »A Ys HIGH« 5.4.7 [A Ys LOW] = »A Ys LOW«
5.4.8 [SCALE HIGH] = »Scale High«
5.4.9 [SCALE LOW] = »Scale Low«
5.4.10 [BLJ] = »BLJ« (Base Line Adjustment - Schriftlinienabgleich)
5.4.11 [LINK HIGH] = »Link High« 5.4.12 [LINK LOW] = »Link Low«
5.4.13 [RVY HIGH] = »RVY High« [RVY LOW] = »RVY Low« [RVX HIGH] = »RVX High« [RVX LOW] = »RVX Low« 5.4.14 [NEW PAGE] = »New Page«
5.4.15 [SLANT OFF] = »Slant Off« bzw. Neigen ausgeschaltet [SLANT +7] = »Siant +7«
[SLANT -7] = »Slant -7« [SLANT+14] = »Slant +14« M) [SLANT-14] = »Slant-14«
5.4.16 [END DATA] = »End Data«
5.4.17 [END Page] = »End Page«
5.4.18 [YLMT] = »Y limit« bzw. Y-Grenzc
5.4.19 »Font Call« (Schriftsatz-Abruf)
6. Konturenalgorithmus
6.1 Grundlegende Konturen-Schnittlinien
6.2 Grenzbit und Ein/Aus-Pufferspeicher
10
6.3 lange Vertikale Allgeme:nes
6.4 steile Schrägen Eingabe
6.5 schwache Schrägen Ein/Aus-Lösung
6.6 eckige Außenformen Umkehrvideo-Eingabe
6.7 Extrapolation Rasterzeilen-Datenspeicherpuffer
6.8 Flatterbit EIN/AUS-Puffereingabe
6.9 Extrapolation-Löschbit Umkehrvideo-Puffereingabe
6.10 SchrägsteJlung Pufferausgabe
6.11 Umkehrvideo Die HWP-Struktur
6.12 Zeilenlinie Grundabschnitte
6.13 Fehlerhafte Ablesung Daten- und Steuerpuffer und -speicherung
Festverdrahteter Prozessor Berechnung der Ausgabedaten-Pufferadresse
7.1 Ausgabedatenpuffer und Videologik
7.2
7.3
7.4
7.5
7.5.1
7.5.2
7.5.3
7.6
7.6.1
7.6.2
7.6.3
7.6.4
10
20 25
enpuffer und Videologik
8. Rechnerprogramme
8.1 Allgemeines
30
1. Ausgabedatenverarbeitungssystem
1.1 Aligemeines
Das Ausgabedatenverarbeitungssystem ist für die Errechnung der horizontalen Koordinaten auf der zu setzenden Seite verantwortlich, bei denen der Laserabtaststrahl fürjede einzelne Rasterlinie auf der Seite ein- oder ausgeschaltet werden muß. Die Errechnung basiert auf der erforderlichen speziellen Rasterlinie (Länge der Seite), den speziellen Schriftzeichen (d. h. Identität), die an diesem Punkt der Seite zu setzen sind, und auf der Form und der Größe wie auch der Gestalt dieser Schriftzeichen wie durch die Eingabevorrichtung definiert.
Da die Umsetzung von den die Kontur der zu setzenden Schriftzeichen definierenden »zweiten« digitalen Daten in Pasterdaten komplex ist und da die Rasterausgabeform wiederholten Mehrzeichen-Datenzugriff erfordert, ist die zur Errechnung jeder einzelnen Rasterzeile erfcderliche Zeit bedeutsam. Zur Herabsetzung der Rechenzeit wurde das Ausgabedatenverarbeitungssystem in zwei große Untersysteme unterteilt:
(1) das Datenverwaltungs-Untersystem (DMS) und
(2) das Konturenumsetzer-Untersystem (OCS).
Im erstgenannten System wird ein Mikroprozessor Z80A, im zweiten ein Mikrokontroller 8X300 (oder »SMS 300«) mit festverdrahtetem Prozessor verwendet.
F i g. 3 zeigt das Ausgabedatenverarbeitungssystem als Blockschaltbild. Dieses System erhält Identität, Form, Größe und Lage der ΐ·> setzenden Schriftzeichen definierende digitale Daten sowie zweite die Kontur eines jeden Schriftzeichens aus einem üblichen Eingabesystem definierende digitale Daten. Das Eingabesystem arbeitet mit einem programmierten 8080-Mikrocomputer 62 der von einem Randomspeicher 64 geeigneter Größe unterstützt wird. Mikrocomputer und Speicher sind auf einer 8080-Schiene 66 angeordnet, ebenso wie zwei Magnetscheiben-Lese-Schreibeinheiten, die aus Magnetplaiten-Speichereinheiten 68 und den Scheiben 70 selbst bestehen. Eine Scheibe 70 enthält die Textinformation oder die »er«u;n« digitalen Daten, wehrend die andere Scheibe die Schriftzeichensatz-Information, oder die »zweiten« digitalen Daten enthält. Die Schiene endet in einer IOPSO-Schnittstelle 72, die mit einer Schnittstelle 74 im Ausgabedatenverarbeitungssystem verbunden ist. Die letztgenannte Schnittstelle ist auf einer Z80A-Schiene 76 zusammen mit dem Z80A-Mikroprozessor 78 und vier Speichereinheiten 80, 82, 84 und 86 des Datenverwaltui.gs-Subsystems angeordnet.
Die Speichereinheit 80 dient zur Speicherung des Programms für den Z80A-Mikroprozessor 78 und stellt einen Arbeitsraum für die Mikroprozessor-Rechnungen dar. Der Speicher 82, »Schriftsatz-Randomspeicher« bezeichnet, speichert die zweiten, die Schriftzeichen des gewählten Schriftsatzes definierenden digitalen Daten. Diese Daten werden verarbeitet und in zweckmäßiger Form, wie im folgenden im einzelnen beschrieben, an zwei Speicher 84 und 86 als »Daten-Randomspeicher« bezeichnet, gespeist.
Die Daten-Randomspeicher 84 und 86 »teilen sich« das Datenverwaltungs-Sübsystcm und das Konturenumsetzungs-Subsystem. Im Grunde genommen liefert der Z80A-Mikroprozessor die Daten für diese Daten-Randomspeicher, und de: 3X300-Mikrokontroller 88 empfängt und analysiert diese Daten durch Steuerung und einem in einem weiteren Speicher 80 gespeicherten Programm und liefert die entsprechenden Daten an einen
11
festverdrahteten Prozessor 92 Dieser festverdrahtete Prozessor setzt die Daten in die sogenannten »dritten« digitalen Daten um, die in drei Rasterlinienpuffern gespeichert werden. Die in diesen Puffern enthaltene Information wird dann durch eine Schnittstelle 94in ein Videosteuersignal umgesetzt und synchron mit der Bewegung des Abtaststrahls dem Laserrecorder zugeführt. 5
1.2 Datenverwaltungs-Untersystem
Die Schaltungsblöcke und deren wechselseitige Verbindung, wie sie im Datenverwaltungs-Untersystem verwendet werden, sind in F i g. 4 dargestellt. Im allgemeinen ist das Datenverwaltungs-Untersystem für die Organisation und Lieferung von Daten an den mit dem Konturenumsetzer-Untersystem geteilten Speicher verantwort lich, damit die rasche Verarbeitung durch das Konturenumsetzer-Untersystem erleichtert wird. Das Datenverwaltungs-Untersystem führt insbesondere die folgenden Prozeßschritte durch:
(a) Bei Bereitschaft: Einlesen des nächsten erforderlichen typografischen »Zeilensegments« von der Text-Magnetscheibe in einen Daten-Randomspeicher.
(b) Übertragung der Schriftsatzdaten von der Schriftsatz-Magnetscheibe auf einen der Schriftsatz-Randomspeicher fur eine »Schriftsatz-Datei«.
(c) Erstellung einer »Konturendatei« im Randomspeicher für das Konturenumsetzungs-Untersystem. Diese Datei enthält die X- und Y-Ausgangspunkte einer jeden Kontur eines jeden erforderlichen Schriftzeichens, wie auch die die Kontur eines jeden Schriftzeichens definierenden »Vektordaten«.
(d) Änderung der »Zeilensegmentdatei« durch Ersatz der Schriftzeichennummer gegen die Position der Konturendatei.
(e) Wiederholung der obigen Schritte, bis kein Speicherraum für die Zeilensegmentdatei oder die Konturendatei mehr verfügbar ist.
(D Abgabe der Steuerung an das Konturenumsetzer-Untersystem. Beginn am nächsten Daten-Randomspe:- cher.
1.3 Konturenumsetzer-Untersystem
Die integrierten Schaltungen und Querverbindungen, die das Konturenumsetzer-Untersystem darstellen, sind in Fig. 5 gezeigt. Im allgemeinen ist das Konturenumsetzer-Untersystem für die Umsetzung der in dem gemeinesamen Daten-Randomspeicher gespeicherten Umgrenzungs- oder Konturendaten in horizontale Strichdaten für den Laserrecorder verantwortlich. Das Konturenumsetzer-Subsystem führt insbesondere die folgenden ProzeBschritte durch:
(a) Ablesen der Identifizierungsdalen und der Größendaten für das erste Zeilensegment.
(b) Ablesen des Abstands vom Schreibrand zum linken Schriftzeichenrand (LSB). Speicherung in einem X-Register.
(c) Ablesen der Konturen-Ausgangsdaten für das nächste Schriftzeichen, Umrechnung des Abstands vom linken Schriftzeichenrand zur Kontur. Erforderlichenfalls Entnahme neuer Konturenvektordaten zur Aktuali sierung der X.Y-Daten.
(d) Ausgabe der Summe aus diesem Wert und dem laufenden X-Wert (in einem »X«-Register festgestellt) an den entsprechenden Raster!inienpuffer.
(e) Ablesen der nächsten Kontur(en). Wiederholung des Schritts (c), bis alle Konturen auf einer Höhe der zu setzenden Seite errechnet sind.
(0 Ablesen des Abstands zum linken Schriftzeichenrand des nächsten Schriftzeichens; dies dem X-Register
zuführen, (g) Schritte (c) bis (f) wiederholen, bis alle Schriftzeichen im Zeilensegment errechnet und ausgegeben sind.
Dann Schritte (a) bis (0 für alle anderen Zeilensegmente auf dieser Höhe wiederholen. so (h) Sind alle Zeilensegmente auf dieser Höhe errechnet, Übertragungssteuerung des oder der Rasterlinienpuf fer(s) auf das Laserantriebssystem mit Speicherung der Daten in einem alternativen (nächsten) Rasterpuf fer für die Rasterlinie 1/10 Punkt weiter unten auf der Seite.
2. Beschreibung der Schriftsatzdaten -5 2.1 Allgemeines
Die die Schriftzeichen eines jeden gewünschten Schriftzeichensatzes definierenden zweiten digitalen Daten sind auf der Schriftsatz-Magnetscheibe gespeichert. Diese Daten sind vom »Konturen«-Typ, d. h. sie definieren die Kontur eines jeden Schriftzeichens hinsichtlich eines normalisierten Koc-rdinaten-Kodiersatzes. Um die Daten zu komprimieren, werden nicht alle Randpunkte des Schriftzeichens auf der Auflösungswi matrix kodiert. Die allgemeine Natur des Kodierschemas ist in der Patentanmeldung P 29 19 013.4-53 beschrieben.
Da die Magnetscheibe das hauptsächliche Speichermedium für Schriftsätze ist, wurden die Schriftsatzdaten so strukturiert, daß sie der Größe der Sektoren der Scheibe entsprechen. Drei getrennte Unterdaieien bilden, wie in Fig. 6 gezeigt, einen Schriftsatzspeicher:
1. Schriftsteuerspeicher
2. Schriftbreitespeicher
3. Konturendatenspeicher
Der Schriftsteuerspeicher enthält alle Daten, die den Schriftsatz als ganzes beschreiben, wie Schriftsatzbeschreibung, Seriennummer, Anzahl der Schriftzeichen, Verschiebung zur Schriftlinic (base jump) und feste Abstandsdaten. Diese Datei ist vollständig in einem Abschnitt der Magnetscheibe (125 Wörter) enthalten. Abschnitt 2.2 der vorliegenden Beschreibung beschreibt den Schriflstcuerspcichcr im Detail.
Der Schriltbreite.speicher enthält die breite eines jeden Schrifizcichens sowie weitere mit dem Schriftzeichen zusammenhängende für die KingnhcvorrichtuiiK erforderlichen Daten. Diese Datei isl je mich der Anzahl der Schriftzeichen pro Schriftsatz auf einem oder mehreren vollen Sektoren enthalten. Abschnitt 2.3 der vorliegender; Beschreibung beschreibt den Schriftbreitespeicher im Detail.
Der Konturendatenspeicher enthält die Koordinaten der Schriftzeichenkonturen, die Vektoren, die die Form der Kontur definieren, Schriftzeichensteuerwörter und Dateigrößensteuerungen. Diese Datei ist je nach der Anzahl der Schriftzeichen und der Komplexität der Schriftzeichen auf einem oder mehreren vollen Sektoren enthalten. Abschnitt 2.4 der vorliegenden Beschreibung beschreibt diesen Speicher im Detail.
Erfordert das Datenverwaltungs-Untersystem (DMS) Schriftsatzdaten, dann werden die entsprechenden Schriftsatzdaten durch die Eingabevorrichtung von der Magnetscheibe abgelesen und durch das DMS dem Schriftsatz-Randomspeicher Font RAM 82 zugeführt. Abschnitt 2.5 der vorliegenden Beschreibung beschreibt die Struktur und den Inhalt der Daten, die in den Schriftsatz-Randomspeicher Font RAM übertragen wurden.
2.2 Schriftsteuerspeicher
Der Schriftsteuerspeicher enthält alle Daten, die den gesamten Schriftsatz oder Doppelbuchstaben im Schriftsatz beschreiben. Diese Datei ist auf einem Sektor einer Magnetscheibe untergebracht und ist daher 125 Wörter lang. Die Struktur dieser Datei ist in F i g. 7 dargestellt. Die in F i g. 7 angedeuteten Elemente dieser Datei werden im folgenden beschrieben.
2.2.1 Anzahl der Schriftzeichen
Das höchstwertige Byte (most significant byte, MSB) des Worts 0 definiert die Anzahl der Schriftzeichen im Schriftzeichensatz in Binärzahlen.
2.2.2 Anzahl der Sektoren
Das niedrigstwertige Byte (least significant byte LSB) des Wortes 0 definiert die Anzahl der Magnetscheiben-Sektoren, die Tür den Konturenumsetzerspeicher erforderlich ist. Das kann durch die Eingabevorrichtung ausgenutzt werden, um Raum auf der Scheibe zu belegen, wenn weitere Schriftsätze zugefügt werden.
2.2.3 Anzahl der Schriftzeichen in 16 K
Das MSB des Worts 1 definiert die Anzahl der in den ersten 16 384 Bytes des Konturendatenspeichers enthaltenen Schriftzeichen in Binärzahlen.
2.2.4 Anzahl der Schriftzeichen in 32 K
Das LSB des Worts 1 definiert die Anzahl der in den ersten 32 768 Bytes des Konturendatenspeichers enthaltenen Schriftzeichen in Binärzahlen.
2.2.5 Anzahl der Schriftzeichen in 48 K
Das MSB des Worts 2 definiert die Anzahl der in der ersten 49 152 Bytes des Konturendatenspeichers enthaltenen Schriftzeichen in Binärzahlen.
50 2.2.6 Letzte Zahl der Sektoren des Randomspeichers
Das LSB des Worts 2 definiert die Anzahl der Magnetscheiben-Sektoren des Konturendatenspeichers in Binärzahlen, die für den Randomspeicher RAM übertragen werden muß, der das letzte Schriftzeichen im Schriftzeichensatz enthalten würde. Das wird eine Zahl zwischen 3 und 68 sein, die von der Eingabevorrichtung ausgenutzt werden kann, um die Übertragung der Schriftzeichensatzdaten zum ODS zu steuern.
2.2.7 YMIN
Wort 3 definiert in Binärzahlen den Yn-Minimalwert in Datenauflösungseinheiten (data resolution units DRU) im gesamten Konturendatenspeicher. Dies wird durch die Eingabevorrichtung ausgenutzt, um die Y-Position (YPOS) für jedes Zeilensegment einzustellen.
2.2.8 YMAX
Wort 4 definiert in Binärzahlen den Yn-Maxi mal wert in DRUs, der sich aus der Addition aller Konturen-dy zum entsprechenden Yn-Wert ergibt. Dies ist der niedrigste Punkt auf allen Schriftzeichen im Schriftzeichensatz, und er wird durch die Eingabevorrichtung ausgenutzt, um den niedrigsten Punkt (YLOW) für jedes Zeilen-
segment einzustellen.
2.2.9 Verschiebung zur Schriftlinie für Akzente auf Großbuchstaben
5 Das MSB von Wort 5 definiert die vertikale Verschiebung, die einen Akzent von seiner nominalen Stellung . über einen Kleinbuchstaben auf die entsprechende Stellung zur Verwendung bei einem Großbuchstaben bewegt. Dies isi eine vorzeichenlose Binärzahl in einem l/432stel eines Geviertes.
2.2.10 Verschiebung des Akzents bei Kursivzeichen *0
Das LSB des Worts 5 definiert die vorzunehmende horizontale Verschiebung, wenn ein Kleinbuchstaben-Akzent auf Großbuchstaben verwendet werden soll. Dies ist normalerweise nur bei Kursiv-Schriftsätzen der Fall, die Verschiebung geschieht nominell nach rechts. Das ist der Fehlwert, wenn keine andere Akzentverschiebung bei Kursivzeichen vorgeschrieben ist. Der Verschiebungswert wird als vorzeichenloser 7-Bit-Wert in 15 DRUs ausgedrückt. Das achte höchstwertige Bit ist ein Vorzeichenbit, das zur Rechtsverschiebung auf 0, zur Linksverschiebung auf 1 gesetzt wird.
2.2.11 Verschiebung zur Schriftlinie/ausgeprägte Exponentzeichen
20 Das MSB des Worts 6 definiert die Verschiebung zur Schriftlinie, um ausgeprägte Exponentschriftzeichen entsprechend der Bit-Definition nach Absatz 2.2.9 auszurichten. Es ist normalerweise gleich der Hälfte der Höhe der Zahlen im Schriftsatz und wird nominell mit 50%iger Verminderung der Punktgröße verwendet, um die beste Ausrichtung der Exponentzeichen für Preise usw. zu erzielen.
ls 2.2.12 Verschiebung zur Schriftlinie/Zähler bei Bruchzahlen
Das LSB des Worts 6 definiert die Verschiebung zur Schriftlinie zur Ausrichtung der Zähler von Bruchzahlen entsprechend der Bit-Definition nach Absatz 2.2.9. Es ist nominell gleich 40% der Höhe der Zahlen im Schriftsatz und wird nominell mit 60%iger Verminderung der Punktgröße verwendet, um die beste Ausrichtung zu erzielen.
JO
2.2.13 Verschiebung zur Schriftlinie/Indexzeichen auf Exponentzeichen
Das MSB des Worts 7 definiert die Verschiebung zur Schriftlinie, um ein Indexzeichen auf einem Exponent-
;. zeichen erster Ordnung auszurichten. Der Wert der Verschiebung zur Schriftlinie wird als vorzeichenfreier 7-Bit-
35 Wert in Einheiten von 1/5 eines Geviertes (acht DRUs) ausgedrückt. Das achte höchstwertige Bit ist ein Vorzei-
'.-; chen-Bit, das auf 0 gesetzt wird, wenn eine Verschiebung nach oben erforderlich ist und auf 1 bei Verschiebung
nach unten gesetzt wird. Es ist nominell gleich der Hälfte der Höhe der Zahlen im Schriftsatz und wird nominell
" rnii einer Verminderung der Punktgröße von 4/9 verwendet.
;. -W 2.2.14 Verschiebung zur Schriftlinie/Indexzeichen auf Indexzeichen
i; Das LSB des Worts 7 definiert die Verschiebung zur Schriftlinie, um ein Indexzeichen auf einem Indexzeichen
erster Ordnung auszurichten, entsprechend der Bit-Definition nach Absatz 2.2.13. Es ist nominell gleich bis zur Hälfte der Höhe der Zahlen.
Λ 45
2.2.15 Verschiebung zur Schriftlinie/Exponentzeichen erster Ordnung
j Das MSB des Worts 8 definiert die Verschiebung zur Schriftlinie, um ein Exponentzeichen erster Ordnung
' auszurichten, entsprechend der Bit-Definition nach Absatz 2.2.13. Es ist nominell gleich 7/12 der Zahlenhöhe
;;! 50 und wird nominell mit einer Verminderung der Punktgröße von 2/3 verwendet.
)| 2.2.16 Verschiebung zur Schriftlinie/Indexzeichen erster Ordnung
fi| Das LSB des Worts 8 definiert die Verschiebung zur Schriftlinie, um ein Indexzeichen erster Ordnung aus-
v 55 zurichten, entsprechend der Bit-Definition nach Absatz 2.2.13. Es ist nominell gleich bis zu 3/12 der Zahlen-
S höhe.
ι% 2.2.17 Verschiebung zur Schriftlinie/Exponentzeichen auf Esponentzeichen
f 60 Das MSB des Worts 9 definiert die Verschiebung zur Schriftlinie, um ein Exponentzeichen auf einem Expo-
0 nentzeichen erster Ordnung auszurichten, entsprechend der Bit-Definition nach Absatz 2.2.13. Es ist nomine)!
% gleich der Zahlenhöhe.
'k 2.2.18 Verschiebung zur Schriftlinie/Exponentzeichen auf Indexzeichen
■|| Das LSB des Worts 9 definiert die Verschiebung zur Schriftlinie, um einen Exponenten auf einem Indexzei-
£| chen erster Ordnung auszurichten, entsprechend der Bit-Definition nach Absatz 2.2.13. Es ist nominell Null.
1 14
2.2.19 Geringer Zwischenraum
Das MSB des Worts K) definiert die Breite, die geringen Zwischenräumen dieses Schriftsul/cs zugeordnet ist. Ls wird in i /54 Geviert ausgedrückt und ist nominell gleich dem Zwischenraum nach dem Punkt (period width).
2.ζ.20 Zwischenraum η
Das LSB des Worts 10 definiert die Breite, die »n« Zwischenräumen für diesen Schriftsatz zugeordnet sind. Es wird in 1/54 Geviert ausgedrückt und ist nominell gleich dem Zwischenraum zwischen den Zahlen.
2.2.21 Geviert-Zwischenraum
Das MSB des Worts 11 definiert die Breite, die Geviert-Zwischenräumen für diesen Schriftsatz zugeordnet sind. Es wird in 1/54 Geviert ausgedrückt und beträgt nominell 54 Einheiten.
2.2.22 Verschiebung zur Schriftlinie/Nenner bei Bruchzahlen
Das LSB des Worts 11 definiert die Verschiebung zur Schriftlinie zur Ausrichtung des Nenners bei Bruchzahlen. Der Wert der Verschiebung wird als vorzeichenloser 7-Bit-Wert in DRUs ausgedrückt. Das achte Bit ist ein Vorzeichenbi'., das auf ö gesetzt wird, wenn eine Verschiebung nach oben erforderlich ist, und auf i bei Verschie- 20 bung nach unten gesetzt wird.
2.2.23 Seriennummer
Das Wort 12 definiert in Binärzahlen eine Nummer, die die Anzahl von Malen identifiziert, die diese Nummer 25 der Schriftzeichensatz-Vorlage reproduziert wurde.
2.2.24 Akzentverschiebung bei Kursivzeichen, Nr. 1
Das MSB des Worts 13 definiert die erste alternative Kursivverschiebung des Akzents bei Kursivzeichen ent- 30 sprechend der Bit-Definition vor. 2.2.10. Der Wert wird den Fehlwerten (Null oder 2.2.10) addiert.
2.2.25 Akzentverschiebung bei Kursivzeichen Nr. 2
Das LSB des Wort 13 definiert die zweite alternative Verschiebung des Akzents bei Kursivzeichen entspre- 35 chend der Bit-Definition von 2.2.10. Der Wert ist additiv.
Das MSB des Worts 14 definiert die dritte alternative Verschiebung des Akzents bu Kursivzeichen entspre- 40 chend der Bit-Definition von 2.2.10. Der Wert ist additiv.
2.2.27 Akzentverschiebung bei Kursivzeichen, Nr. 4
Das LSB des Worts 14 definiert die vierte alternative Verschiebung des Akzents bei Kursivzeichen entspre- 45 chend der Bit-Definition von 2.2.10. Der Wert ist additiv.
2.2.28 Kapitälchen, %
Das MSB des Worts 15 definiert den Prozentsatz der Verminderung in Punktgröße, um ein Kapitälchen aus 50 einem gezeichneten Großbuchstaben zu erhalten. Es wird als 8-Bit-Binärbruchteil ausgedrückt.
2,2,29 Reserven
Die Wörter 15 bis 17 einschließlich stellen Reservewörter mit Nullfüllung dar. 55
2.2.30 Schriftsatz-Layout-Nummer
Die Wörter 18 und 19 definieren, in ASCII-Kode, eine Schriftsatz-Layout-Nummer, die der spezifischen Schriftzeichenform im Schriftsatz mit ihrer sequentiellen Lage im Schriftbreitespeicher und dem Konturenda- 60 tenspeicher-Index entsprechen. Jede bestimmte Schriftsatz-Layout-Nummer identifiziert einen bestimmten Satz von Schriftzeichenformen in einer bestimmten Folge.
2.2.31 Nummer der Schriftsatzvorlage
Die Wörter 20 und 21 definieren, in ASCII-Kode, die Nummer der Schriftsaizvoriage, die die Schriftzeichensätze bestimmt definieren:
Bezeichnung ζ. Β. Times, Helvetica Schriftart ζ. Β. Antiqua, Kursiv, Fett Größe z. B. 8 Punkt, 12 Punkt, 18 Punkt Layout welche spezielle Schriftzeichenform (siehe 22J0)
2.2.32 Beschreibung des Schriftzeichensatzes
Die Wörter 22 bis einschließlich 29 stellen eine Folge im ASCII-Kode dar, die einen 16 Schriftzeichen enthaltenden Titel bildet, der Bezeichnung, Schriftart, GröSe usw. des Schriftzeichensatzes in abgekürzter Version zur raschen Identifizierung des Schriftzeichensatzes beschreibt Zur Auffüllung werfen erforderlichenfalls Zwischenräume verwendet
2.2.33 Ausführliche Beschreibung des Schriftzeichensatzes
Die Wörter 30 bis einschließlich 77 stellen eine Folge im ASCII-Kode dar, die einen 96 Schriftzeichen enthaltenden Titel bildet, der den Schriftzeichensatz vollständig beschreibt. Zur Auffüllung werfen erforderlichenfalls Zwischenräume verwendet.
2.2.34 Zufallsfüllung 20
Die Wörter 78 bis einschließlich !24 werden von einem Zufallsgenerator aufgefüllt.
2.2.3S Anschlußadresse
Das Wort 125 enthält die Anschlußadresse (Spur und Abschnitt) des ersten Sektors des Schriftbreitespeichers.
2.3 Schriftbreitespeicher
Der Schriftbreitespeicher enthält für ein Satzsystem erforderliche auf individuelle Schriftzeichen anwendbare Daten. Das Ausgabedatenverarbeitungssystem benutzt diesen Speicher nicht F i g. 8 veranschaulicht die Struktur dieses Speichers.
Zwei Bytes sind erforderlich, um die Daten für ein Schriftzeichen zu definieren; in jedem Sektor können bis zu 125 Schriftzeichen beschrieben werfen. Alle nicht erforderlichen Bytes werfen mit Nullen aufgefüllt. Die Schriftzeichenbreite-Gruppen müssen so angeordnet werfen, daß sie der Folge der Schriftzeichen im Konturenindex entsprechen.
2.3.1 Einheiten-Breite
Das erste Byte einer jeden Schriftzeichenbreite-Gruppe definiert, in Binärzahlen, die Einheiten-Breite in 1/54 des normalisierten Gevierts.
2.3.2 Kennzeichenbits
Gekennzeichnete Bits im zweiten Byte einer jeden Schriftzeichenbreite-Gruppe definieren spezifische Kennzeichen des Schriftzeichens. Das Kennzeichenbit 6 ist beispielsweise das B-BiI, welches definiert, daß das Schriftzeichen ein Akzent ist, der nicht verschoben werfen soll.
2.3.3 Anschlußadresse
Das Wort 125 (Bytes 250 und 251) enthält die Anschlußadresse (Spur bzw. Sektor) des nächsten Sektors des Schriftbreitespeichers oder des ersten Sektors des Konturendatenspeichers.
2.4 Schriftzeichen-Digitalisierung 55
2.4.1 Schriftzeichen-Definitionen
Alle Schriftzeichen sind digital kodiert oder für ein relatives Vektordekodiersystem »digitalisiert«, wobei alle Schriftzeichenkonturen als durch geradlinige Elemente eng approximiert angenommen werfen. Ein derartiges co System ist in der oben erwähnten deutschen Patentanmeldung beschrieben.
Alle Schriftzeichen sind als Vielfach-Serie von »Kurven« definiert. Jede Kurve beschreibt einen vertikalen Konturenrand mit den folgenden Komponenten:
(a) eine X-, Y-Koordinate, die den nächsten Punkt auf der Kurve innerhalb eines Geviertes definiert, as (b) eine Weiß-Schwarz- oder Schwarz-Wciü-Grenze,
(C) eine Reihe geradliniger Teilensegmente, die durch eine die Krümmung und die Länge eines jeden Segments der Kurve definierende Reihe von Datenbytes definiert wird, und (d) Vektorrichtung (nach unten und von links nach rechts oder von rechts nach links) der Segmente.
Die Definition des Schriftzeichens besteht in der Auflistung aller Kurven, die das Schriftzeichen umgrenzen. Sie werden in absteigender Ordnung aufgelistet, d. h. die Kurven, die am oberen Teil des Schriftzeichens beginnen, werden zuerst aufgeführt, die am FuB zuletzt.
2.4.2 Maßstab S
Die hauptsächliche Maßeinheit ist die Datenauflösungseinheit (Date Resolution Unit, DRU). die als 1/432 des traditionellen Gevierts definiert ist Ein erweitertes Geviert ist 576 x 576 DRLIs.
Die Position 0,0 ist am Schnittpunkt des linken Rands (LSB) und dem oberen Teil des erweiterten Gevierts, wie in Fig. 9 gezeigt, angeordnet. X-Werte (links-rechts) können daher positiv (positiv ist rechts) oder negativ (wenn die Grenze des Schriftzeichens sich links vom linken Rand (LSB) erstreckt) sein, Y-Werte (oben-unten) sind jedoch immer positiv (positiv ist unten).
2.4.3 Konturen-Datenwörter
Jede Kontur wird durch 3 oder mehr Datenwörter definiert: Einem Y-Wort, einem X-Wort und einem oder mehreren Konturen<Vektor-/Steuer-)Bytes. Das Format dieser Datenwörter ist in Fi g. 10 gezeigt. Die verschiedenen Teile der in Fig. 10 gezeigten Kodierung sind im folgenden aufgeführt:
Komponenten des Y-Datenworts:
Yn Dieses Datenteil definiert die vertikale Position eines Ausgangspunktes vom oberen Rand eines erweiterten Gevierts. K Undefiniert.
Komponenten des X-Datenworts: Xn Dieses Datenteil definiert die horizontale Position eines Ausgangspunktes. Der linke Rand (LSB) ist als 0 definiert.
X Vorzeichen Das Vorzeichenbit definiert die Verschiebungsrichtung von Xn hinsichtlich des linken Rands LSB.
L-Bit Das L-Bit definiert die Richtung des dx des ersten Vektors. Eine eins definiert einen links
gerichteten Vektor, eine Null einen nach rechts gerichteten.
F-Bit Das F-Bit oder »Flatterbit« (Flare Bit) definiert, welche Vektorneigung durch den Deko
dierer bei der Extrapolation der Schriftzeichenkontur im Bereich des Gitters unmittelbar über der Linie Yn verwendet wird.
Ε-Bit Das Ε-Bit oder »Extrapolationsbit« definiert, ob über der Ausgangspunkt-Gitterzeile Yn
Extrapolation verwendet wird oder nicht. B-Bit Das B-Bit ist das »Bit Umgrenzung Ein/Aus« und definiert, ob die Kontur eine Links
grenze (ein) oder eine Rechtsgrenze (aus) darstellt. 4ü
Vektoren/Komponenten der Steuerdatenbytes:
Vektoren:
dydx Für alle Werte dy größer als 0 definiert dieses Byte die Neigung der Vektorkontur des
Schriftzeichens vom Ausgangspunkt (Xn, Yn) oder vom letzten Vektorendpunkt. Alle Vektoren sind aufeinanderfolgend in der gleichen Folge angeordnet wie sie auf jer Schriftzeichenkontur erscheinen.
Für alle Werte dy = 0 definiert dieses Byte einen Steuerkode. Die spezifische Steuerung hängt vom Wert dx (in sedezimaler Darstellung) wie unten angegeben ab:
0 Ende der Kontur.
1 Umkehrung der dx-Richtung für den nächsten Vektor.
2 definiert, daß für den durch die vorangehenden Y- und X-Datenwörter definierten Ausgangspunkt keine Verschiebungsvektoren anwendbar sind. Dieser Steuerung folgt immer ein Null-Byte, damit ein »Konturenendew-Steuerkode erzeugt wird.
3 definiert den Vektor mit einer horizontalen Verschiebung von 0 DRUs (vertikaler Vektor und einer vertikalen Verschiebung größer als 30 DRUs. Das nächste Datenbyte hat einen resultierenden Bereich vertikaler Verschiebungen von 0 bis einschließlich 255, wird jedoch zwischen 0 und einschließlich 30 nicht verwendet. (Beispiel: Die zwei Bytes 0/3,2/6 beschreiben einen zusammengesetzten Vektor, der vertikal um 38 DRUs heruntergeht).
4 definiert einen Vektor mit einer horizontalen Verschiebung von 1 DRU und einer vertikalen Verschiebung von 30 DRUs.
5 definiert einen Vektor mit einer horizontalen Verschiebung von 1DRU und einer vertikalen Verschiebung von 120 DRUs.
7 bis 5
C Undefiniert
D definiert eine Änderung einer geradlinigen Kontur mit einer vertikalen Verschiebung von IDRU und einer horizontalen Verschiebung bis zu 255 DRUs. Das nächste Datenbyte definiert den Binärwert der horizontalen Verschiebung. (Beispiel: Die zwei Bytes o/D, 2/6 beschreiben eine Kontur aus 1 DRU 10 vertikaler und 38 DRU horizontaler Verschiebung).
E definiert eine Änderung einer geradlinigen Kontur mit einer vertikalen Verschiebung von 1 DRU und einer horizontalen Verschiebung größer als 255 DRUs. Das nächste Datenbyte definiert den Binärwert der horizontalen Verschiebung über 256. (Beispiel: Die zwei Bytes o/E, 2/6 beschreiben eine Kontur aus 1 DRU vertikaler und 294 horizontaler Verschiebung).
15 F definiert einen Vektor mit einer schwachen Neigung mit einer vertikalen Verschiebung von 1 DRU
und einer horizontalen Verschiebung größer als 15 DRUs. Das nächste Datenbyte definiert den Binärwert der horizontalen Verschiebung. (Beispiel: Die zwei Bytes 0/F, 2/6 beschreiben einen zusammengesetzten Vektor, der über 38 horizontale DRUs und einen DRU hinunter geht).
20 2.4.4 Struktur des Konturen-Datenspeichers
Der Konturen-Datenspeicher ist auf der Schriftsatz-Magnetscheibe untergebracht und speichert eine Speicherabbildung der Daten, die in einen oder mehrere Schriftsatz-Randomspeicher eingeführt werden. Die Datei besetzt einen oder mehrere Sektoren auf der Scheibe und ist daher Modulo 125 Wörter lang. F i g. 11 ver-25 anschaulicht diese Dateistrukiur.
Betragen die gesamten Konturendaten des Schriftsatzes weniger als 16 384 Bytes, dann enthält der Konturen-Datenspeicher:
1% 1. FSIZE-Wort (Anzahl der Bytes im Randomspeicher RAM)
ί 30 2a. CINDEX (Schriftzeichen-Index)
f2b. AnfangsetiV»u- und Konturen-Daten
3. ENDFNT (Nullwort)
m 4. Sektorfülltr
!.'; .15 Die Punkte 2a und 2b stellen das kandomspeicher-Speicherabbild dar und dürfen 16 384 Bytes nicht überstei-
$ gen.
& Betragen die gesamten Konturendaten des Schriftsatzes mehr als 16 K Bytes, dann enthält der Speicher:
1. FSIZE-Wort
|| 4Q 2ab CiNDEX. Anfangseiikeit· und Konturcn-Datcn (16 384 Bytes max) >'.'■ 3. FSIZE-Wort (Anzahl der Bytes im nächsten Randomspeicher RAM)
'4 4. Anfangsetikett- und Konturen-Daten (16 384 Bytr.s max)
\·:1 5. ENDENT
^ 6. Sektorfüller
;■' Die Punkte 3 und 4 können wiederholt werden, wenn die gesamten Konturendaten des Schriftsatzes mehr als
;.., 32 768 oder 49 152 Bytes betragen. Die Daten besetzen den Schriftsatz-Randomspeicher Font RAM beginnend
' ■ mit der Adresse "4000 und können bis zur Adresse "7FFF verlaufen (wobei das Anführungszeichen Anfang (")
auf eine Sedezimalzahl hinweist. Die Adressen in den Anfangsetiketten (headers) sind absolut; Adressen im 50 CINDEX sind versetzt absolut ("0000 bis "3FFF) wobei die zwei MSBs Multispeicher-Positionen (multi-RAM locations) darstellen. Die spezifischen Inhalte des Konturendatenspeichers sind folgende:
2.4.4.1 FSIZE 55
Dieses Wort definiert in Binärzahlen die Anzahl der Bytes, die in einen Schriftsatz-Randomspeicher eingegeben werden. Die Zählung beinhaltet nicht das FSIZE-Wort oder das ENDFNT-Wort. Die Zählung Tür den ersten Schriftsatz-Randomspeicher (Font-RAM) enthält den gesamten CINDEX und alle Anfangsetikett- und Konturendaten.
2.4.4.2 ClNDEX
Der Schriftzeichenindex ist von veränderlicher Länge und besteht aus einer Schriftzeichenzählung (CCOUNT) und einem relativen Adressenindex.
&5 CCOUNT ist ein Byte, das in Binärzahlen die Anzahl der Schriftzeichen im Schriftzeichensatz und somit auch die Wortlänge definiert. Es handelt sich um eine Zahl zwischen 1 und 255 einschließlich. Die Lage der Adresse im Randomspeicher RAM des CCOLJNT ist "4000.
Der Index enthalt eine Einwortcintragung für jedes Schriftzeichen im Schriftzeichensatz. Jede Eintragung
stellt die versetzte absolute Adresse des YCOUNT-Bytes für das Schriftzeichen (siehe Abschnitt 2.4.4.6 unten) dar. Die zwsi höchstwertigen Bits des Worts weisen in Binärzahlen auf den Randomspeicber RAM, der das Schriftzeichen enthält, wobei 00 der Randomspeicher RAM ist, der den Index enthält. Die 14 niedrigstwertigen Bits enthalten die versetzte Randomspeicher-Adresse (die absolute RAM-Adresse weniger "4000) des YCOUNT-Bytes des Schriftzeichens.
Die erste Eintragung im Index ist definitionsgemäß Schriftzeichen Nummer 1 und muß mit der ersten Schriftzeichenbreite-Gruppe im Schriftbreitespeicher übereinstimmen. Die Schriftzeichen-Nummern laufen sequentiell durch Implikation fett (es gibt keine ausgesprochenen Schriftzeichen-Nummern oder Bibliotheks-Nummern an irgendeiner Stelle des Schriftzeichensatzes).
2.4.4.3 ENDFNT
Dieses Wort definiert das Ende aller Schriftsatzdaten und besteht aus 2 Bytes von Nullen.
2.4.4.4 Sektorfüller
Um bis zum Ende des Magnetscheiben-Sektors aufzufüllen, der das ENDFNT-Wort enthält, werden Nulldaten verwendet.
2.4.4.5 Anfangsetikett- und Konturet-Daten
Die Anfangsetikett- und Konturen-Daten in jedesi Randomspeicher RAM enthalten alle Digitali^erungsdaten des Schriftzeichens, die zu jedem der in diesem RAM untergebrachten Schriftzeichen gehören. Die X- und Y-Ausgangsstellungen für die Schriftzeichen sind im Anfangsetikettspeicher aufgerührt; die Vektoren und Steuerbytes, die die Profile der Schriftzeichen definieren, sind im Konturenspeicher aufgeführt. Die zwei Speieher sind durch ein Nulldatenbyte (ENDHDR) getrennt. Fig. Ii veranschaulicht die Speicherstruktur der Anfangsetikett- und Konturen-Daten.
Ein Prüfsummen-Byte folgt dem Konturenspeicher und geht dem ENDFNT-Wort oder dem FSIZE-Wort, das Randomspeicher RAMs trennt, unmittelbar voraus.
2.4.4.6 Anfangsetikett-Speicher
Der Anfangsetikett-Speicher enthält eine Reihe von Schriftzeichenanfangsetiketten, jeweils eins für jedes Schriftzeichen im Satz. Zwischen Anfangsetiketten gibt es keinen Zwischenraum. Jedes Schriftzeichen-Anfangsetikett enthält (aufeinanderfolgend und ohne Zwischenraum) ein YCOUNT-B>£e, ein CSIZE-Wort und ein oder mehrere Anfangs-Paarsätze von Datenwörtern (ein Satz für jedes Paar von Anfängen).
YCOUNT:
Das YOOUNT-Byte definiert in Binärzahlen die Anzahl von YN-Einträgen im Anfangsetikett, was das gleiche ist wie die Anzahl der Anfangs-Paare. Die Länge in jedem Schriftzeichen-Anfangsetikett beträgt zehnmal den YCOUNT plus 3 Bytes.
CSlZE:
Das CSIZE-Wort definiert in Binärzahlen die Gesamtmenge an Datenraum in Bytes, den das Schriftzeichen ausfüllt, wenn es einmal in den Daten-Randomspeicher eingeführt wird. Es ist also gleich zwölfmal YCOUNT plus der Länge aller adressierten Profil-Zeichenfolgen innerhalb der Anfangs-Paardatensätze.
Anfangs-Paardaten:
YN ist das Y-Datenwürt und XN ist das X-Datenwort, wie in 2.4.3 definiert. N muß gerade sein, da Konturen immer in Paaren beginnen. AN ist die absolute Adresse des Anfangsbytes der Profil-Zeichenfolge der Vektoren und Steuerungen, die jede Konturform definieren. Jede Adresse ist eine Zahl zwischen "4000 und "7FFF. Adressen können innerhalb des Anfangsetiketten-Speichers dupliziert werden, falls eine Pr>fil-Zeichenfolge für mehr als einen Anfangspunkt geteilt werden muß (die Schriftzeichen-Konturform -st gemeinsam). Eine Adresse kann nicht auf eine Profil-Zeichenfolge in einem anderen Randomspeicher RAM weisen. Die YN-, XN- und AN-Datenwörter sind in der Reihenfolge wie in F i g. 12 gezeigt und ohne Zwischenraum aufgelistet. Jeder folgende YN-Wert ist gleich oder größer als der vorausgehende YN-Wert.
2.4.4.7 Konturenspeicher
Der Konturenspeicher besteht aus einer Reihe von Profil-Zeichenfolgen. Jede Profil-Zeichenfolge stellt eine sequentielle Reihe von zwei oder mehr Vektoren/Steuerdatenbytes, wie in 2.4.3 defin-ert, dar. Jede Zeichenfolge definiert eine oestimmte vertikale Schriftzeichenkcntur und beginnt am Anfangsetikett-Startpunkt. Eine Zeichenfolge wird durr,K Steuer-Null (Konturende), das ein Nulldatenbyte ist, beendet. Füllerbytes dürfen innerhalb einer Zeichenfolge nicht verwendet werden; sie sind vor oder nach einer Zeichenfolge zulässig. Das
oder die Digitalisierungsproeramm(e) vermeidet Duplikation identischer Profil-Zeichenfolgen und minimisiert die Anzahl der Randomspeicher RAM, die ein Schriftzeichensatz benutzt, indem er Profil-Zeichenfolgen für Schriftzeichenkonturen teilt, die sich sehr annähern.
2.4.4.8 CHKSUM
Eine Ein-Byte Prüfsumme verifiziert jeden vollständigen Randomspeicher RAM; sie wird durch alle Daten im Schriftsatz-Randomspeicher mit Ausnahme des CHKSUM-Bytes selbst gebildet. Die Prüfsumme wird durch Initialisierung auf Null gebildet; dann wird die Prüfsumme Tür jedes Byte ein Bit nach rechts bewegt (LSB wird !0 MSB), und das Datenbyte wird zur Bildung der neuen Prüfsumme addiert. Überlauf bei der Addition wird vernachläßigt. Die endgültige 8-Bit-Prüfsummc wird als CHKSUM definiert und wird nach dem letzten Datenbyte eingeführt.
2.4.5 Profil-Zeichenfolgen
Im allgemeinen werden die Profil-Zeichenfolgen im Konturen-Datenspeicher von den Anfangspunkten (YN und XN) getrennt, damit sich mehrere Anfangspunkte auf die gleiche Profil-Zeichenfolge beziehen (sie adressieren) können. Auf diese Art können verschiedene Schriftzeichen innerhalb ein- und desselben Schriftzeichen-
MK.L3 Hill CM3 IVtI UV33HUtill gIGtVltl.1 \JI UIIUIUt III UUIbII UIU glβII·IIWII LSCtI. Vl I UOIIIlIVI I (VVI UVIl1 Ot/ XJQUt VIl(V L/atbir komprimierung erzielt wird.
Die folgenden Buchstaben können beispielsweise auf der linken Seite identische Kontur aufweisen: »ο«, »c« und »e«. Der Konturen-Datenspeicher enthält also zwei Profil-Zeichenfolgen, die die inneren und die äußeren Umgrenzungen auf der linken Seite dieser Schriftzeichen definieren. Das höchste Paar von Anfangspunkten im Schriftzeichen-Anfangsetikett für »o«, »c« bzw. »e« kann daher diese zwei Profil-Zeichenfolgen adressieren. Da die dx-Werte in den Profil-Zeichenfolgen je nach dem »L-Bit« im X-Datenwort (XN) positiv oder negativ sein können, kann eine einzige Profil-Zeichenfolge für verschiedene Schriftzeichen, die symmetrisch sind, dienen. Teile des Schriftzeichens »b« können beispielsweise mit dem Schriftzeichen »d« und Teile des Schriftzeichens »p« können mit dem Schriftzeichen »q« symmetrisch sein. So! ,-he Schriftzeichen können mit den gleichen Profil-Zeichenfolgen definiert werden, die durch das »L-Bit« zur Bewegung in entgegengesetzten Richtungen geleitet werden.
Schriftzeichen-Designer neigen dazu, einige wenige Schriftzeichen-Grundformen zu schaffen, die im ganzen Satz direkt oder spiegelbildlich wiederholt werden. Überlegungen zur Übereinstimmung erfordern, daß einige wenige Formen im gesamten Satz wiederholt werden, während es die Symmetrie erfordert, daß das Spiegelbild verwendet wird. Die in der digitalen Definition der Schriftzeichen im vorliegenden System verwendeten Profiles Zeichenfolgen stellen ein wichtiges Werkzeug zur Neubildung dieser Schriftzeichen-Grundformen dar. Da das Kodierschema die Adressierung einer einzelnen Profil-Zeichenfolge von den Anfangspunkten verschiedener Schriftzeichen erlaub! und es gestattet. daS die dx-Inkremente in einer Profil-Zeichenfolge positive oder negative Werte hat, wird die Menge der zur Definition eines gesamten Schriftzeichensatzes erforderlichen Daten erheblich herabgesetzt.
2.4.6 Verschiedenes
Innerhalb der Definition eines einzelnen Schriftzeichens gibt es keine Einschränkung dahingehend, daß zwei Konturen (Profil-Zeichenfolgen) von dem gleichen Punkt angefangen werden müssen. Es gibt auch keine Einschränkung, daß zwei Konturen am gleichen Punkt enden müssen. Zwei Konturen dürfen sich berühren, dürfen sich aber nicht überschneiden, wenn sie von »Ein«-Konturen zu »Aus«-Konturen überwechseln.
Gebrochene Schriftzeichen sind im Konturen-Datenspeicher ebenfalls zulässig. Es gibt keine Einschränkung für gebrochene (unterteilte, getrennte) Schriftzeichen.
so 2.5 Schriftzeichensatz-RAM-Format
Das Datenverwaltungssystem DMS benutzt den Randomspeicher RAM zur Aufnahme der Schriftsatzdaten für den oder die auf der Seite zu setzenden Schriftzeichensätze, um beschleunigten Zugang zu diesen Daten zu haben. Die Daten für den Schriftzeichensatz werden dem DMS durch das Eingabesystem geliefert, wo sie auf der System-Magnetscheibe (System Floppy Disk SFD) gespeichert sind.
Ein vollständiger Schriftzeichensatz ist auf einem oder mehreren Schriftsatz-Randomspeichern Font RAM gespeichert, wobei jeder Schriftsatz-Randomspeicher nicht mehr als einen Schriftzeichensatz gleichzeitig speichert.
Das Datenverwaltungssystem DMS kann eins bis acht Schriftsatz-Randomspeicher enthalten. Das System
funktioniert mit nur einem Schriftsatz-Randomspeicher, vorausgesetzt, daß Schriftzeichensätze nur einer für den Schriftsatz-Randomspeicher g.rigneten Größe verwendet werden. Vielfach-Schriftsatz-Randomspeicher sichern gegen eine Herabsetzung der Durchsatzgeschwindigkeit auf Seiten mit verschiedenen Schriftsätzen.
Jeder Schriftsatz-Randomspeicher Font RAM besteht aus 16K Bytes; jede Schriftsatz-Randomspeicher-Karte kann bis zu 64K Speicherbytes enthalten: das ist das Äquivalent zu 4 Schriftsatz-Randomspeichern. Einheiten von weniger a!s vier Schriftzeichensätzen können durch Depopularisierung der Schriftsatz-Randomspeicher-Karten in 16K-Byte-Inkrementen erzielt werden.
Nach neuerlicher Einstellung des Systems entscheidet das Datenverwaltungssystem DMS, welche Schriftsaiz-Randomspeicher zur Aufnahme verfügbar sind, indem in jede Randomspeicher-Position ein Muster einge-
schrieben und die Ergebnisse zurückgelesen werden. Jede Nichtübereinstimmung wird als eine inaktive Schrift- ,,!
satzlage in einer Schriftzcichensatz-Tabelle aufgezeichnet. Nach Prüfung jeder der acht Positionen wird eine M
Meldung an das Eingabesystem gesandt, die die Anzahl der aktiven Schriftsatz-Randomspeicher definiert; dies -J
kann zur Feststel'ung defekter Randomspeicher ausgenutzt werden. Die Schriftzeichensatz-Tabelle wird später ?J
zur Aufzeichnung der in jedem Randomspeicher gespeicherten Schriftzeichensatz-Nummern verwendet. s [}
In dem Verfahren zur Entwicklung eines Daten-Randomspeichers kopien das Datenverwaltungssystem DMS ί
spezifische Schriftzeichenkonturdaten vom Schriftsatz-Randomspeicher in den Konturenspeicher im Daten- j
Randomspeicher Data RAM. Tritt eine Änderung des Schriftzeichensatzes ein, dann prüft das Datenverwal- ${■
tungssyjtem DMS die Tabelle der eingeführten Schriftzeichensatz-Nummern. Ist der Schriftzeichensatz noch ' j
nicht eingeführt, dann führt das Datenverwaltungssystem DMS den neuen Schriftzeichensatz in den oder die io '
ersten leeren Schriftsatz-Randomspeichc· RAM. Sind alle Schriftsatz-Randomspeicher im Gebrauch, so wird ;;
oder werden der oder die Randomspeicher RAM, die vor längster Zeit verwendet worden waren, mit dem neuen 'ij
benötigten Schriftzeichensatz überschrieben. Jj.
Die im Schriftsatz-Randomspeicher gespeicherten Daten sind dem Inhalt und der Struktur nach den Schrift- ;|
satzdaten im Konturen-Datenspeicher auf der Eingabesystem-Magnetscheibe, wie in Abschnitt 2.4.4 dargelegt, 15 ?" identisch.
Zusätzlich zu den auf der oder den Schriftsatz-Randomspeicher-Kartetn) gespeicherten Schriftsatzdaten unterhalt das Datenverwaltungssystem DMS zwei weitere Tabellen pro Schriftzeichensatz im Programm-Arheitsrau. die zur Regulierung der Datenübertragung vom Schriftsatz-Randomspeicher Font RAM zum Daten-Randomspeicher Data-RAM verwendet weiden, nämlich eine In-Sep,-Tabelle und eine ln-RAM-Tabelle. Sie werden im folgenden beschrieben.
2.5.1 In-RAM-Tabelle
Diese 512-Byte-Tabelle enthält die Adresse innerhalb des Daten-Randomspeichers Data-RAM, in der ein Schriftzeichen-Anfangsetikett gespeichert wurde. Die Tabelle ist nach den Schriftzeichen-Nummern angeordnet. Jeder Eintrag beträgt zwei Bytes. Ein Null-Eintrag zeigt an, daß die Schriftzeichendaten nicht eingegeben sind.
Immer wenn ein neues Schriftzeichen in den Daten-Randomspeicher Data-RAM eingegeben wird, werden die entsprechenden 2 Bytes in dieser Tabelle mit der Daten-Randomspeicher-Adresse versehen. Diese Tabelle wire1 beim Beginn des Aufbaus jedes neuen Data-Randomspeichers aufgelöst.
2.5.2 In-Seg-Tabelle
Diese 32-Byte-Tabelie wird zur Anzeige dafür verwendet, welche Schriftzeichen des Schriftzeichensatzes bereits innerhalb des zur Zeit im Daten-Randomspeicher Data-RAM entwickelten Zeilensegments angetroffen wurden. Immer wenn eine Adresse in die In-RAM-Tabelle eingegeben wird, wird entsprechend ein Bit in dieser Tabelle gesetzt. Diese Tabelle wird beim Beginn eines jeden neuen Setzniveaus (Set level) (YSL) aufgelöst.
Der Struktur nach entspricht jedes Bit einer Schriftzeichen-Nummer zwischen 0 und einschließlich 255. Die Adresse des Bits wird errechnet durch
Schriftzeichen-Nummer _ , n ,,-.... ^ .. . „ . <-, ... — = Q + R (Quotient-Ganzzahl und Rest-Ganzzahl)
45 wobei Q das Byte in der Tabelle und R das Bit innerhalb des Bytes ist.
3. Beschreibung der Seitendaten 3.1 Definition der Seite
Eine Seitenposition wird durch X-, Y-Koordinaten in 1/10 Punkten definiert. Dies wird eine Rasterauflösungseinheit (Raster Resolution Unit RRU) genannt. Der obere linie Rand ist die Position 0,0. Die maximale Seitengröße ist 11 Zoll x 17 Zoll. Das ist 7954 x 12 292 RRU. Bewegung kann auf einer Seite nur von oben noch unten geschehen.
Die für jede Zeit zu lösende Rasterposition wird Y-Setzniveau (Y set level, YSL) genannt. Dieser Wert beginnt zunächst bei 0 und wird um eins inkrementiert bis er die maximale Seitentiefe erreicht.
3.2 Seitenvarianten
Zusätzlich zu der in Abschnitt 3.1 definierten normalen Standardseitenform wurden fünf volle Seitenvarian- ω ten in das ODS-Muster eingefügt. Alle Varianten sind wechselseitig ausschließlich.
3.2.1 Hohe Auflösung
Das Verhältnis des Trommelantriebsgetriebes eines Laserrecorders mit hoher Auflösung kann so verändert werden, daß jeder Schritt des Schrittmotors 58 die Trommel 56 um 1/20 Punkt antreibt, eine Rasterauflösungseinheit hoher Auflösung (high resolution raster resolution unit, HRRU). Die horizontale (x-) Auflösung ist nicht verstärkt.
Das ODS hat einen Chip-Schalter am (Z80 A)-Mikroprozessor des Datenverwaltungssystem DMS, der für die-
hu öy ι
sen Laserrecorder eingestellt ist. Das Datenverwaltungssystem DMS halbiert die Δ Ys, und das OCS inkrementiert das Setzniveau auf jeden anderen Rp.sterausgang.
3.2.2 Prüfseite 5
Ein Laserrecorder mit Prüfseitenfähigkeit macht zwischen jeder Rasterzeile zwei Schrittmotorschritte, so daß die Geschwindigkeit des Setzens einer Seite mit Prüfungsqualität effektiv verdoppelt wird.
Das Kommando für die Prüfseite wird vom Eingabesystem aus eingegeben. Das Datenverwaltungssystem DMS setzt dip Ys Niveaus je nachdem, ob der Laserrecorder eine normale Einheit oder eine mit hoher Auf- IO lösung ist, und das OCS inkrementiert entsprechend das Setzniveau um eins oder zwei bei jedem Rasterausgang.
3.2.3 Seitenbreite
Der Laserrecorder hat eine 8 1/2 Zoll oder eine Ii Zoll breite Trommel 56.
15 Das ODS hat einen Chip-Schalter am (Z80A)-Mikroprozessor des Datenverwaltungssystems DMS, der auf 8 1/2 Zoll oder 11 Zoll eingestellt ist. Das Datenverwaltungssystem DMS benutzt eine entsprechende Seitenbreite, wenn Seitenkomplementierung des XPOS-Wertes wegen Ausgabe »fehlerhafte Ablesung« eintritt.
3.2.4 Fehlerhafte Ablesung
Jede Seite kann von jedem Laserrecorder-Typ in korrekter oder fehlerhafter Ablesung (Spegelbild) ausgegeben werden.
Auswahl der fehlerhaften Ablesung geschieht durch einen Kippschalter auf dem (Z80A)-Mikroprozessor des Datenverwaltungssystems DMS. Das Datenverwaltungssystem DMS veranlaßt eine Seitenkomplementierung 25 der XPOS-Lage eines jeden Schriftzeichens sowie eine Komplementierung der X-Position einer jeden Kontur jedes Schriftzeichens und der Richtung, in der sich jede Kontur bewegt.
3.2.5 Umkehrvideo
30 Jede Seite kann weiß auf schwarz oder schwarz auf weiß ausgegeben werden (umgekehrt normal).
Auswahl des Umkehrvideo geschieht durch einen Kippschalteram festverdrahteten Prozessor (hardwired processor HWP). Der HWP kehrt die Polarität des Rasters um.
:>; 35 3.2.6 Zeilenlinie
C; Die Zeilenlinie ist ähnlich dem Umkehrvideo, mit der Ausnahme, daß eine ganze Linie (weiß auf schwarz oder He schwarz auf weiß) von bestimmter Länge eine einzige feste Farbe annimmt. Dieses Kommando gestattet die
; ί Erzeugung von Linien auf der Seite.
i' 4. Eingabesystem-Schnittstellenbestimmungen
'■J. 4.1 Allgemeines
Die vorliegende Beschreibung offenbart die erforderlichen Daten und das Datenformat, das zwischen Eingax 45 besystem und Ausgabedaten-Verarbeitungssystem übertragen werden soll. Die Übertragung geschieht durch das Eingabesystem IOP-80 auf der Basis des Austausches einer Byte-Serien-Übertragung. Tabelle 1 faßt alle '■:,] Schnittstellenübertragungen zum ODP-System zusammen.
% Tabelle 1
fj x Zusammenfassung der Schnittstellen-Übertragungen
i| Steuerimpuls Übertragungen Eingabe ins ODP-System von
S 8-Bit-Byte und CTL = 1 Eingabe-System S; 55 Neue Seite fertig
'Si · Neue Anfrage
i'5 Einstellung neue Anfrage
I Prüfseite
1 ω Anfang Programm-Speicher
I (START PROG STORE)
ί Fehler Programm-Speicher
I (PROG STORE FAULT)
's 6:> Daten Progr-Knmdaten
H Übertragungen Seiten-Daten
Ί| 16 Bits (zwei Bytes) und CTL = O Schriftzeichensatz-Daten
Ϊ 22
4U
4.1.1 Seiten-Daten
Das Aujgabedatenverurbcitungssystem ist eine Seitenausgabe-Maschine, hauptsächlich weil der Laserrecorder die zur Belichtung eines vollständigen Rasters erforderliche Zeit aufbringen muß, selbst wenn er nur Daten für einen Teil des Rasters hat. Der Durchsatz d~r Maschine wird daher bedeutend heraufgesetzt, wenn der Laserrecorder mit allen grafischen Daten versehen wird, die in jedem vollständigen Raster erforderlich sind, bevor das. Raster belichte! wird. Dies erfordert die Speicherung und Umgruppierung der Zufallsfolge-Eingabedaten in eine Sequenz von oben nach unten. Auf Grund beschränkter Speicherkapazität im Ausgabedatenverarbeitungssystem müssen die Daten weiterhin in Gruppen verpackt werden, die als »Zeilensegmente« definiert werden, was die Standardeinheit der durch das Eingabesystem zu übertragenden Seiten-Daten darstellt. Abschnitt 4.2 gibt die Anforderungen an die Seiten-Daten im Detail wieder.
4.1.2 Schriftzeichensatz-Daten
Die Eingabevorrichtung speichert wie oben beschrieben die Schriftzeichensätze in digitalen Konturen auf Magnetscheiben. Die Konturendaten werden für die Auflösung der Ein-Aus-Rasterpunkte benötigt, und diese Daten werden durch das Eingabesystem auf der Basis eines gesamten Schriftzeichensatzes (mit Ausnahme der Breite-Daten, der BLJ-Daten usw.) übertragen. Abschnitt 4.3 beschreibt die Anforderungen an dieSchriftzei-
4.1.3 Andere Daten
Zusätzlich zu den obigen mit dem Betrieb zusammenhängenden Daten können erforderlichenfalls auch periodische Datenübertragungen durch die Eingabevorrichtung vorgenommen werden. Diese beinhalten Programme, Fehlermitteilungen, Wiederanlauf und Programmrückstellung. Das Leistungs-Rückstellsignal kann is ebenfalls von der Eingabevorrichtung ausgehen.
4.1.4 Notation
Zur Beschreibung der Syntax der Datenerfordernisse wird eine Notation der Metasprache verwendet. Verwendet wird die folgende Notation:
4.1.4.1 »«Terminal - ein Element mit einem Symbol Tür eine feste Bitlänge (z. B.: alle Elemente der Seifen-Daten sind 16-Bit-Wörter).
4.1.4.2 () Non-Terminal - ein Element einer Sprache höherer Ordnung, die aus einem oder mehreren Terminals und/oder einem oder mehreren Non-Terminals zusammengesetzt ist.
4.1.4,3 ί J Fakultative Wiederholungen - Die geschweiften Klammern deuten an, daß das oder die angeschlossenen Non-Terminal(s) nicht oder so oft wie gewünscht benutzt werden dürfen.
4.1.4.4 / Entweder-Oder - Ein Schrägstrich deutet an, daß die Non-Terminals beiderseits des Schrägstrichs mögliche alternative Elemente sind.
4.1.4.5 ♦ Nur einmal - Ein Sternchen wird verwendet, um anzudeuten, daß das Non-Terminal nicht mehr als einmal innerhalb des definierten komplexen Non-Terminals verwendet werden darf.
4.2 Seiten-Daten
4.2.1 Struktur der Seiten-Daten
Wie in Abschnitt 4.1.1 angedeutet, müssen kodierte Daten, die eine Seite beschreiben, in Gruppen, die als »Zeilensegmente« definiert sind, zusammengepackt werden:
(SEITE) = {(ZEILEN SEG)} »SETTENENDE«
((PAGE) = {(LINE SEG)} »END PAGE«)
Jede Seite kann aus einem oder mehreren Zeilensegmenten, gefolgt von einem Seitenend-Kode, bestehen. Eine leere Seite hat keine Zeilensegmente. Der Seitenend-Kode ist ein Beendigungskode, nach diesem Kode können keine die Seiten betreffenden Daten mehr aktzeptiert werden. Die vor dem Seitenend-Kode erhaltenen funktionellen Daten werden nicht auf die nächste Seite übertragen und müssen, wenn benötigt wiederholt werden.
Jedes Zeilensegment definiert ein Schriftzeichenset, ein Umkehrvideosatz und/oder ein Zeilenliniensatz:
(ZEILEN SEG) = (SEG*)* (YPOS) ((SCHR SET)/(RVSET)/(ZLSET)} »END SEG« ((LINE SEG) = (SEG*)* (YPOS) {(CHAR SET)/(RVSET)/(LR SET)} »END SEG«
Das erste Element in jedem Zeilensegment ist die Segmentnummer.
Getrennte Zeilensegmente mit bestimmten Segmentnummem müssen für jedes Schriftzeichenset mit einer bestimmten YPOS und Punktgrcße-Kombination definiert werden. Getrennte Zeilensegmente sollten vorzugsweise für jeden Umkehrvideosatz oder Zeüenüniensatz und vorzugsweise auch für einen Satz definiert werden, der nicht innerhalb der Y-Grenzen des erweiterten Gevierts eines Schriftzeichensatzes enthalten ist. Die Umkehrvideo- oder Zeilenliniensätze innerhalb eines einzelnen Zeilensegments müssen den gleichen YPOS-Wert haben.
Auf die Segmentnummer folgt der Wert YPOS, der nominell die t-Koordinate auf der Seite am oberen "Häil des
erweiterten Gevierts des Schriftzeichen·; im Zeilensegment und/oder die obere Koordinate des Umkehrvideo oder des oder der Zeilenlintensatzes/sätze im Zeilensegment ist Die Zeilensegmente auf der Seite müssen alle in der Ordnung der YPOS-Koordinate angeordnet werfen; es gibt keine Sequenzanforderung zwischen Zeilen segmenten mit gleicher YPOS-Koordinate.
Das Zsilensegnient kann einen oder mehrere Schriftzeichensätze und/oder ein oder mehrere Umkebrvideo- und/oder Zeileniiniensätze aurweisen.
Der Endsegment-Kode ist ein Beendigungskode, und nach diesem Kode können keinerlei sich auf das Segment beziehende Daten akzeptiert werden. Die vor dem Endsegmentkode erhaltenen Daten werden nicht in das ίο nächste Segment übertragen und müssen, wenn benötigt, wiederholt werden.
4.2.1.1 Schriftzeichensätze Die Schriftzeichensets innerhalb eines Zeilensegments müssen der folgenden Struktur folgen:
(SCHRZ SET) = (ANF SCHRZ) {(SCHRZ PAAR)} ((CHAR SET) = (INITIAL CHAR) {(CHAR PAIR)})
wobei einem Anfangsschriftzeichen ein oder mehrere Schriftzeichenpaare folgen. Das Anfangsschriftzeichen muß dsr folgenden Struktur entsprechen:
(Auf Schrzj = (PUNKT GROSSE)* (SCHRSaTZ) (XPOS) (SCHRZ PAAR)
((INITIAL CHAR) = (PT SIZE)* (FON-D (XPOS) (CHAR PAIR))
'Das Anfangsschriftzeichen in einem Zeilensegment muß eine Größe aufweisen, eine Schriftzeichensatz-Nummer, die x-Koordinate der linken Seite des Schriftzeichens (XPOS) und die Schriftzeichenpaar-Daten, die folgendermaßen strukturiert sind:
(Schrzpaar) = {(Funktion)} »SCHRZ« JO ((CHAR PAIR) = {(FUNCTION)} »CHAR«)
und wobei die zulässigen Funktionen die folgenden sind:
(FUNKTION) = (XPOS)Z(SCHRZS)Z(SETBREITEV(NEIGUNG)Z(BU)Z(YLOw) ((FUNCTION) = (XPOS)Z(FONT)Z(SET WIDTCH)Z(SLANT)Z(BU)Z(YLOW) )
Der Schriftzeichenkode ist teilweise ein Beendigungskode, d. h. obwohl keine einem bestimmten Schriftzeichen zugehörige Funktionen nach dem Kode akzeptiert werden können, werden alle vor dem Kode erhaltenen funktionalen Daten übertragen und bleiben gültig, bis sie durch einen neuen Funktionskode oder ein Zeilensegment-Eleendigungskode (END SEG) verändert werden.
Alle späteren Funktionskode gelten auf diese Weise, bis sie verändert werden, mit der Ausnahme von YLOW, der nur durch die Ausgabe eines numerisch höherwertigen YLOW verändert werden kann.
Innerhalb eines Schriftzeichensatzes muß jedem folgenden Schriftzeichenpaar ein Anfangsschriftzeichen vorausgehen. Alle funktionalen Kode können beliebig aufgereiht werden, wobei lediglich die obigen Einschränkungen beachtet werden müssen.
4.2.1.2 Umkehrvideosätze
Die Umkehrvideosätze innerhalb eines Zeilensegments müssen der folgenden Struktur folgen: so
(UMKEHRVIDEO SET) = (XPOS) (UMKEHRVIDEO CODE) (YEND) I XEND) ((RV SET) = (XPOS) (RV CODE) (YEND) (XEND)).
Die Elemente des Umkehrvideosets müssen in der obigen Reihenfolge ohne Zwischenelemente aufgereiht werden.
4.2.1.3 Zeileniiniensätze Die Zeileniiniensätze innerhalb eines Zeilensegments müssen der folgenden Struktur folgen:
(ZEILENLINIENSET) = (XPOS) (ZE1LENL1N1ENK0DE) (YEND) (XEND) ((LR SET) = (XPOS) (LR CODE) (YEND) (XEND)).
Die Elemente der Zeileniiniensätze müssen in der obigen Reihenfolge ohne eingreifende Elemente angeordnet werden. Tabelle 2 laUt die Syntax der Seiicndulen-Struktur zusammen:
Tabelle 2 Seitendaten-Syntax
(PAGE) = {(LINE SEQ)} »END PAGE«
(LINESEG) = (SEG*)* (YPOSrKCHARSET)Z(RVSET)Z(LRSET)JwENDSEGw
(CHAR SET) = (INITfAL CHAR) {(CHAR PAIR) J
(INITIAL CHAR) = (PT SIZE)*(FONT) (XPOS) (CHAR PAIR)
(CH AR PAIR) = {(FUNCTION)} ^H AR«
(FUNCTION) = (XPOS)Z(FONT)Z(SET WIDTH)Z(SLANT)Z(BU)Z(YLOW)
(RV SET) = (XPOS) (RV CODE) (YEND) (XEND)
(LR SET) = (XPOS) (LR CODE) (YEND) (XEND)
4.2.2 EingabekodeZTerminalelemente
Tabelle 3 faßt die Eingabekode-Struktur für die Terminalelemente zusammen, die von der Eingabevorrichtung zum Ausgabedatenverarbeitungssystem gesandt werden sollen, unter Bezugnahme auf die folgende Beschreibung der Terminalelemente, die in der Syntax von Abschnitt 4.2.1 verwendet werden.
42.2.1 (SEG*) = »SEG*«
Dies ist eine 13-Bit-Zahl (die LSBs des 16-Bit-Felds, die 3 MSBs sollen O sein), die für jedes Zeilensegment auf der Seite einmalig ist. Es ist die zur Identifizierung jedes Zeilensegments benutzte Zahl, und sie wird durch das Ausgabedatenverarbeitungssystem verwendet, wenn es ein bestimmtes Zeilensegment abrufen muli. Es muß der erste Kode jeder Zeile sein, und er darf nicht mehr als einmal pro Zeilensegment ausgegeben werden.
Segmentnummern können jede Nummer zwischen 1 und 8191 einschließlich (nicht Null) sein, und es ist nicht notwendig, daß die Segmentnummer mit den zunehmenden YPOS-Werten angeordnet ist.
4.2.2.2 (YPOS) = »YPOS«
Dies ist die Y-Koordinate auf der Seite in RRUs am Kopf eines erweiterten Gevierts der Schriftzeichen im Zeilensegment undZoder die obere Koordinate des Umkehrvideosets im Zeilensegment. Der Kopf der Seite (der nominell unter dem Oberteil des Papierblatts liegt) wird als O RRU bezeichnet. Zur Bescheibung von YPOS-Werten zwischen O und 12 292 RRUs (17 Zoll) sind bis zu 14 Bits verfügbar.
Der LSB des YPOS entspricht dem LSB des Eingabe worts. Dieser Kode folgt normalerweise auf die Segmentnummer und wird innerhalb eines Zeilensegments nur einmal angegeben.
4.2.2.3 (XPOS) = »XPOS«
Dies ist die X-Koordinate auf der Seite in RRUs auf der linken Seite des Schriftzeichens oder der Umkehrvideo- !coordinate, die mit den YPOS der Umkehrvideokoordinate ein Paar bilden. Der linke Rand des Papierblatt« und der Seite ist als O definiert. Normale Randversetzungen werden durch die Programme des Eingabesystems gesteuert. Zur Beschreibung der XPOS-Werte zwischen O und 7 und 7954 RRUs (11 Zoll) sind bis zu 14 Bits verfügbar. Der LSB der XPOS entspricht dem LSB des Eingabeworts.
Tabelle 3
16-Bit Eingabe Code Format
15 14 13 12 O 11 10 9 8 7 6 5 π RRU's) YLOS-Daten in RRU 0 (Char number)
Schriftzeirhen-Nr.
4 3 2 1
SEG O η RRU's) YPOS-Daten in RRU 1 (FONT number)
Schriftzeichensatz Nr.
(Betr.: 4.2.2.1)
0 0 (YLOS data ι O η RRU's) XPOS-Daten in RRU 0 CPT SIZE in 1/2 pts)
Punktgröße in 1/2 Pkt.
(Betr.: 4.2.2.4)
0 1 (YPOS data i Λ
U
0 1 (SETWIDTK in ±1/8 ptä)
Setzbreite in ±1/8 Pkt.
[Betr.: 4.2.2.2)
1 0 (XPOS data i 1 0 0 (LR CODE) Zeilenlinienkode [Betr.: 4.2.2.3)
1 1 O 1 1 1 (SLANT) Schrägstellung (Betr.: 4.2.2.6)
1 1 O 1 1 0 (RV CODE) Umkehrvideokode (Betr.: 4.2.2.5)
1 1 O 1 0 1 (END SEG) Segmentende (Betr.: 4.2.2.7)
1 1
X
λ
U
O 0 0 (END PAGE) Seitenende [Betr.: 4.2.2.8)
1 1 O 1 [Betr.: 4.2.2.9)
1 1 O 1 [Betr.: 4.2.2.10)
1 1 O 0 [Betr.: 4.2.2.11)
1 1 O [Betr.: 4.2.2.13)
1 1 1 [Betr.: 4.2.2.14)
4.2.2.4 (YLOW) = »YLOW«
Dies ist die Y-Koordinate auf der Seite in RRUs am unteren Rand des erweiterten Gevierts des Schriftzeichens im Zeilensegment. Es ist nicht notwendig, daß dieser Wert für Zeilensegmente mit Normalbuchstaben, d. h. für Schriftzeichen, die innerhalb des erweiterten Gevierts fallen, geliefert wird. Er muß jedoch für Logos geliefert werden, die sich tiefer als das erweiterte Geviert erstrecken.
Das Eingabesystem leitet den Wert von den Schriftzeichensatzdaten und der Punktgrößc, ün der das Logo gesetzt wird, her. Wird dieser Kode mehr als einmal ausgegeben, dann wird der höchste Wert (niedrigster Punkt auf der Seite) durch das Ausgabedatenverarbeitungssystem zurückgehalten. Maßstabsveränderung, Nuiianordnung und Datenanordnung sind identisch zu YPOS.
4.2.2.5 (FONT) = »FONT« - d. h. (SCHRIFTZEICHENSATZ) = »SCHRIFTZEICHENSATZ«
Dieser Terminalkode definiert die Schriftzeichensatz-Nummer, die für alle folgenden Schriftzeichen benutzt wird, bis ein neuer Schriftzeichensatz eingegeben ist. Zur Eingabe von Schriftzeichensatz-Nummern zwischen 1 und einschließlich 254 stehen bis zu 10 Bits zur Verfugung. Die Schriftzeichensatz-Nummer LSB entspricht dem Wort LSB.
4.2.2.6 (CHAR) = »CHAR« - d. h. (SCHRIFTZEICHEN) = »SCHRZ«
Dieser Terminalkode definiert die auszugebende Schriftzeichennummer und stellt einen halb-beendigenden Kode dar (siehe Beschreibung Abschnitt 4.2.1.1). Zur Eingabe von Schriftzeichennummern zwischen O und 255 einschließlich stehen bis zu 10 Bits zur Verfügung. Die Schriftzeichennummer LSB entspricht dem Wort LSB.
4.2.2.7 (PT SIZE) = »PT SIZE« - d. h. (PUNKTGRÖSSE = »PUNKTGRÖSSE«
Dieser Terminalkode definiert die für alle Schriftzeichen im Zeilensegment zu benutzende Punktgröße. Er kann innerhalb eines Zeilensegments nur einmal ausgegeben werden. Zur Eingabe aller Halbpunktgrößen zwischen 1/2 und einschließlich 130 stehen bis zu 10 Bits zur Verfugung. Das Wort LSB entspricht 1/2 Punkt und Bits 1 bis 8 definieren den Binärwert der Punktgröße direkt.
4.2.2.8 (SET WIDTH) - »SET WIDTH« d. h. (SETZBREITE) = »SETZBREITE«
Dieser Terminalkode definiert die für alle folgenden Schriftzeichen zu verwendende Salzbreite, bis eine neue Breite eingegeben wird. Wird dieser Kode nicht eingegeben, dann hat die Setzbreite einen Fehlwert gleich der
Punktgröße des zu setzenden Zellensegments. Das oder die Setzbreitekommando(s) müssen auf die Punktgröße-Kommandos folgen.
4.2.2.9 (LR CODE) - »LR CODE«
Dieser Terminalkode definiert, daß die unmittelbar folgenden 2 Wörter das YEND bzw. XEND in einem Zei-. lenliniensatz darstellen, in dem vorausgehende YPO5! und XPOS die Anfangskoordinaten sind. Die 10 LSBs des Eingabekode sind Null.
4.2.2.10 (SLANT) = »SLANT« - d. h. (SCHRÄGSTELLUNG) = »SCHRÄGSTELLUNG«
Dieser Terminalkode definiert die Größe der verwendeten Schrägstellung für alle folgenden Schriftzeichen im Zeilensegment, bis eine neue Schrägstellung eingegeben wird. Um 5 mögliche Schrägstellungen zu definieren, sind bis zu 10 BiU- verfügbar; der Wert 0 entspricht SLANT OFF (SCHRÄGSTELLUNG AUS), Wert 1 SLANT + 7 (SCHRÄGSTELLUNG +7), Wert 2 SLANT +14 (SCHRÄGSTELLUNG +14), Wert 3 SLANT -7 IS (SCHRÄGSTELLUNG -7) und Wert 4 SLANT -14 (SCHRÄGSTELLUNG - 14).
4.2.2.11 (RV CODE) = »RV CODE - d. h. (UMKEHRVIDEO-KODE) = »UMKEHRVIDEO-KODE«
Dieser Terminalkode definiert, daß die unmittelbar folgenden 2 Wörter das YEND bzw. XEND in einem IJmkehrvideosei darstellen, in dem vorausgehende YLPQS und XPOS die Anfangsfcoordinaten sirjd. Die IQ LSBs des Eingabekode sind Null.
4.2.2.12 (YEND) = »YEND«, (XEND) = »XEND«
Diese Terminalkodes definieren die Schlußkoordinaten auf der Seite eines Umkehrvideosets in gleicher Skala wie YPOS und XPOS. Die zwei MSB werden auf Null gestellt. Hat die YEND-Eingabe einen Wert über dem laufenden YLOW, dann wird dieser Wert zur neuen Definition von YLOW verwendet.
4.2.2.13 »END SEG«
Dieser Terminalkode definiert das Ende eines Zeilensegments und setzt alle variablen Funktionen innerhalb dieses Segments auf einen Fehlwert. Die 10 LSBs sind alle Null.
4.2.2.14 »END PAGE« - d. h. »SEITENENDE«
Dieser Terminalkode definiert das Ende einer Seite und setzt alle variablen Funktionen auf den Fehl wert. Alle 10 LSBs sind Null.
Diesem Kode muß ein Zeilensegment vorausgehen, das einen YLOW-Wert gleich der Satzhöhe enthält. Dies kann geschehen durch
(1) Definition eines YLOW gleich der Satzhöhe innerhalb des letzten Zeilensegments der Seite oder
(2) Definition eines zusätzlichen Zeilensegments mit dem Inhalt: (SEG*) (YPOS) (YLOW) »END SEG«
wobei YPOS und YLOW gleich der Satzhöhe, oder mit dem Inhalt: (SEG*) (YPOS) »END SEG,<,
wobei YPOS gleich der Satzhöhe.
4.3 Schriftzeichensatz-Datcn so
4.3.1 Struktur der Schriftzeichensatz-Daten
Kodierte Daten, die die Konturen von Schriftzeichen in einem Schriftzeichensatz beschreiben, werden auf der Basis des gesamten Schriftzeichensatzes vom Eingabesystem zum Ausgabeditenverarbeitungssystern .übertragen:
(FONT) = {(CHAR OUTLINE DATA)) »END FONT« d. h.
(SCHRIFTZEICHENSATZ) = {(SCHRZ KONT DATEN)! »SCHRIF,ZEICHENSATZENDE«
jeder Schriftzeichensatz besteht aus einem Satz von Schriftzeichenkonturen-Daten für jedes im Schri^zeichensatz enthaltene Schriftzeichen. Im Schriftzeichensatz können bis zu 256 Schriftzeichen enthalten sein, vorausgesetzt, daß die in einem Schriftzeichensatz enthaltene Gesamtmenge weniger ist als 15 328 Bytes durch zweimal die Gesamtzahl der Konturen im Schriftzeichensatz. Der Schriftzeichensatz-Ende-Kode ist ein Beendigungskode, und nach diesem Kode können keine auf diesen Schriftzeichensatz üezüalichen Daten mehrak7en- h<
Die Konturendaten für jedes Schriftzeichen sind:
(CHAR OUTLINE DATA) = (CHAR) («OUTLINES) {(OUTLINE)) - d. h. (SCHRZ KONTUR-DATEN) = (SCHRZ) (»KONTUREN) {< KONTUREN)}
wobei das Konturen-Non-Terminal furjede durch das »OUTLINES-Terminai definierte Kontur nur einmal verwendet wird.
Die Schriftzeichennummer ist identisch mit dem in Abschnitt 4.2.26 beschriebenen CHAR-Terminal und ist eine Zahl zwischen 0 und einschließlich 255. Die Zahl der Konturen pro Schriftzeichen ist auf 255 begrenzt. Jede Kontur besteht aus Anfangskoordinaten, Vektoren und Steuerungen, wie sie zur Beschreibung eines Rands des Schriftzeichens erforderlich sind:
(OUTLINE) = (YN) (XN) {(VECTORS/CONTROLS)) d. h. (KONTUR) - (YN) (XN) ((VEKTORENVfSTEUERUNGEN)) 15
wobei die zulässigen Steuerungen sind:
(CONTROLS) = (END OUTLINE)/(CHANGE DIRECTION)(NO VECTORS)/
(LONG VERTICAL)/(SHALLOW HORIZONTAL) - d. h.
(LANGE VERTIKALE)/(FLACHE HORIZONTALE)
Abschnitt 2.4.3 beschreibt besonders detailliert die Struktur der Konturendaten, die in den zwei obigen Statements syntaktisch behandelt sind. Auf diesen Abschnitt muß Bezug genommen werden; genau diese Daten müssen für diese zwei Statements vom Magnetscheiben-Speichermedium zum Ausgabedatenverarbeitungssystem übertragen werden. Tabelle 4 faßt die Syntax der Struktur der Schriftzeichensatzdaten zusammen:
Tabelle 4 Syntax der Z hriftzeichensatzdaten
(FONT) = {(CHAR OUTLINE DATA)) »END FONT«
(CHAR OUTLINE DATA) = (CHAR) (»OUTLINES) «OUTLINE» (OUTLINE) = (YN) (XN) {(VECTORSViCONTROLS))
(CONTROLS) = (END OUTLINE)Z(CHANGE DIR)Z(NO VECTORS)Z
(LONG VERT1CAL)Z(SHALLOW HORIZONTAL)
4.3.2 EingabekodeZTerminalelemente
Fig. 13 faßt die Struktur der Eingabekode für die Terminalelemente zusammen, die vom Eingabesystem für eine Übetragung der Schriftzeichensatzdaten vorgesehen sind.
4.3.2.1 (CHAR) = »CHAR« - d. h. (SCHRZ) = »SCHRZ«
Dieser Terminalkode definiert die durch das Eingabesystem zugeteilte Schriftzeichennummer. Um Schriftzeichennummern zwischen O und 255 einschließlich zu beschreiben, sind bis zu 8 Bits verfügbar. Bit 15 entspricht dem MSB und Bit 8 ist das LSB.
4.3.2.2 (»OUTLINES) = »»OUTLINES« d. h. (»KONTUREN) = »»KONTUREN«
Dieser Terminalkode definiert die Anzahl der Konturen in diesem Schriftzeichen und geht von der Schriftzeichensatz-Magnetscheibe aus. Um zwischen 1 und 255 Konturen zu beschreiben, stehen bis zu 8 Bits zur Verfugung.
4.3.2.3 »END FONT« d. h. »SCHRIFTZEICHENSATZ-ENDE«
Dieser Terminalkode ist der Beendigungskode für die Schriftzeichenübertragung. Alle 16 Bits im Wort sind Nullen.
5. DATENRANDOMSPEICHER DATA RAM 5.2 Allgemeines
Der Datenrandomspeicher Data RAM dient als Ausgabepuffer für das Datenverwaltungsuntersystem DMS und als Eingabepuffer für das Konturenumsetzer-Untersystem OCS. Während die Zeilensegmentdaten in das DMS eingegeben »erden, werden sie urnibrmslitrt und im Datenrandomspeicher Data RAM gespeichert. Innerhalb des Systems werden zwei soicher Data RAMs verwendet, wobei jeder 32K Bytes lang ist. Beide Datenrandomspeicher Data RAM sind durch das DMS und das OCS mit folgenden Einschränkungen zugänglich:
(1) Ein Prozessor kann nur an einem Datcn-Randomspeicher zu gleicher Zeit auswählen und arbeiten.
(2) Ein Prozessor kann keinen Datenrandomspeicher auswählen, der durch einen anderen Prozessor ausgewählt wurde.
(3) Entselektiert ein Prozessor einen Datenrandomspeicher (oder löst er die Steuerung), so sind die Daten innerhalb dieses Randomspeichers RAM für diesen Prozessor nicht mehr gültig. .s
5.2 Aulbau der Daten-Randomspeicher (Data RAM)
Die Daten-Randomspeicher werden durch das Datenverwaltungs-Untersystem DMS entwickelt und zur Verarbeitung an das Konturenumsetzer-Untersystem OCS weitergeleitet. Zum Aufbau der Daten wird Doppelpufferung benutzt, und daher gibt es zwei solche Daten-Randomspeicher. Dies erlaubt es, daß das Datenverwaltungs-Untersystem DMS den nächsten Puffer der Daten entwickelt, während das Konturenumselzer-Untersystem OCS den anderen verarbeitet. Das Grundkonzept ist in Fig. 14 dargestellt. Bei der Entwicklung dieses Daten-Randomspeichers versucht das Datenverwaltungs-Untersystem DMS, möglichst viele Daten einzufüllen. Dadurch sollte es das Konturenumsetzer-Untersystem OCS mit ausreichend Daten zur Verarbeitung versehen, damit eine mögliche Verlangsamung der Fotosatzeinheit (PTU) vermieden wird.
Der Pufferraumwirdoptimiert, indemer mit Konturendaten geteilt wird, die für andere Zeilensegmente in den Puffer eingegeben wurden. Um dies zu erreichen, entwickelt das Datenverwaltungs-Untersystem DMS den Daten-Randomspeicher RAM von zwei Richtungen. Zeilensegmentdaten werden beim Einlesen und Umformatieren an das untere Ende des Speichers gesetzt und ähnliche Schriftzeichenkonturan-Daten an das obere Bereichsende. Wenn diese zwei Datensets sich gegenseitig beeinflussen, dann werden die Daten bis zum letzten Zeilensegment sichergestellt, und der Ausgabe-Grenzwert ist definiert. Dieser Vorgang ist in F i g. 15 dargestellt.
5.3 Datcn-Randomspeicher-Format (Data RAM Format)
Die Anordnung des Daten-Randomspeichers ist in Fig. 16 dargestellt. Der Abschnitt zur Schriftzeichenkontur des Daten-Randomspeichers Data RAM ist in Fig. 17 gezeigt. Zur Definition des Formats des Daten-Randomspeichers Data RAM wird die Metasprache, wie in Abschnitt 4.1.4 dargelegt, verwendet. Die Struktur von Seite, Zeilensegment-Speicher und Konturenspeichcr sind in den Tabellen 5, 6, bzw. 7 dargelegt.
5.3.1 Seitenstruktur
Das Konturenumsetzer-Untersystem OCS definiert eine Seite als einen oder mehrere Daten-Randomspeicher (Data RAMs):
[PAGE] = [INITIAL DATA RAM] {[DATA RAM]} d. h. [SEITE] = [ANFANGS DATA RAM] {[DATA RAM])
Alle Seiten müssen mit einem Anfangs-Daten-Randomspeicher (Data-RAM) beginnen, dessen Format:
[INITIAL DATA RAM] = [YLMT][NEW PAGE][PAGE SECTION] d. h. [ANFANGS DATA RAM] = [YLMT][NEUE SEITE][SEITENaBSCHNITT]
Alle folgenden Datenrandomspeicher Data Ram für dieselbe Seite haben das Format
[DATA RAM] = [YLMT][PAGE SECTION] d. h. [DATA RAM] = [YLMT][SEITENaBSCHNITT]
Der Unterschied zwischen den beiden ist das neue Seitenelement, das selbst ein Terminalelement ist:
[NEW PAGE] = »new page« d. h. [NEUE SEITE] = »neue Seite«
Alle Daten-Randomspeicher Data RAM müssen als ihren ersten Kode den Ausgabegrenzwert
[YLMT] = »limit«
haben.
Der Datenspeicher kann in zwei getrennte Speicher, den Zeiiensegmentspeicher und den Schriftzeichenkontur-Speicher, aufgeteilt werden:
[PAGE SECTION] = [LINE SEG FILE] [OUTLINE FILE] d. h.
[SEITENABSCHNITT] = [ZEILEN-SEGMSPEICHER] [KONTURENSPEICHER]
5.3.2 Zeiiensegmentspeicher
Der Zeiiensegmentspeicher besteht aus allen eingegebenen und durch das Datenverwaltungs-Untersystem reformierten Zeilensegmenten. Es hat die folgende Form:
[LINE SEG FILE] = ([LINE SEG]) [END RAM] d. h.
[ZEILENSEGMSPEICHER]= ([ZEILENSEGM])[ENDRaM]
In diesem Speicher können so viele Zeilensegmente untergebracht werden, wie Platz vorhanden ist. Dem letz-5 ten »Zeilensegment« muß das End-RAM-Kode folgen.
[END RAM] = [END DATE] / [END PAGE] d. h.
[ENDF^M] = [DATENENOE] / [SEITENENDE]
io Existieren für die Seite mehr Daten, dann wird das Datenende-Element verwendet. Ist dies der letzte Randomspeicher RAM für die Stile, dann wird das Seitenende-Element verwendet.
Das Zeilensegment kann wie folgt definiert werden:
[LINE SEG] = [START SEG] ([CHAR SET] / [RV SET]) d. h.
!5 [ZEILENSEGM] = [ANFANGSSEGM] ([SCHRZSET] /[UMKEHRVIDEO-SET]}
Die Struktur ist dem Eingabeformat sehr ähnlich, die Kodestruktur variiert jedoch.
Die Zeilensegmente müssen mit einem Anfangssegment-Element beginnen. Dieses wird definiert als I
20 [START SET] = [YSET] / [SEG LINK PAIR] / [YACC PAIR] ~~
YSET kann definiert werden als
[YSET] = [YPOS](ZERO DATA WORD] d. h.
25 [YSET] = [YPOS][NULLDATENWORT]
und wird durch das Datenverwaltungs-Untersystem DMS stets zu Beginn jedes Zeilensegments eingeführt. Dieses definiert die Y-Koordinate der Seite, aufder das Zeilensegment zu verarbeiten ist. Das NULLDATENWORT ( (ZERO DATA WORD) dient als Zwei-Byte-Kissen, wenn das Zeilensegment aktiv (d. h. die Verarbeitung der
30 Konturen beginnt) oder gestrichen wird.
Beginnt die Verarbeitung eines Zeilensegments, dann wird YSET durch das YACC PAIR ersetzt, wobei
[YACC PAIR] = [YACC HIGH][YACC LOW]
J5 Das YACC PAIR ist das nächste Setzniveau in DRUs Tür das Zeilensegment. Nachdem das Konturenumsetzei-Untersystem OCS ein Zeilensegment vollständig verarbeitet hat, ersetzt es es durch ein Kettungspaar (link pair)
[SEG LINK PAIR] = [LINK HIGH] [LINK LOW]
Dieses Kettungspaar besteht aus zwei Elementen, die kombiniert eine absolute Adresse des nächster^Zeileni-i segments ergeben.
5.3.2.1 Schriftzeichenset
Die Schriftzeichensets innerhalb eines Zeilensegments müssen folgender Struktur entsprechen:
[CHAR SET] = [INITIAL CHAR]([CHAR PAIR]) d. h.
[SCHRZ-SET] = [ANFANGS SCHRZldANFANGSPAAR])
^ mit einem Anfangsschriftzeichen, dem ein oder mehrer Schriftzeichenpaare folgen. Das Anfangsschriftzeichen
;< muß folgende Struktur haben:
F·: [INITIAL CHAR] = YS PAIR] [SCALE PAIR] [XPOS] [CHAR PAIR]
% Das Δ YS-Paar definiert die Veränderung in DRUs pro Rasterauflösungseinheit. Es hängt von der Punktgröße
% ab.
I YS PAIR] = YS HIGHI YS LOW]
ί Das Skalenpaar definiert die Anzahl der Rasterauflösungseinheiten für jede DRU. Es hängt von derSetbreiie
I ab.
ij [SCALE PAIRj = [SCALE HIGH] [SCALE LOW]
~ig fcin Schriftzeichenpaar ist wie folgt definiert:
m [CHAR PAIR] = ([FUNCTION]![OUTLINE ADD]
I 3o
vobei die zulässigen Funktionen sind
[FUNCTION] - [XPOS] / (SCALE PAIR] / [SLANT OFF] / [SLANT +7] / [SLANT -7] /
[SLANT - 14] / SLANT -14] / [BLJ] / [NULL]
Alle vor der Konturcnudressc erhaltenen Funktionen werden übertragen und bleiben gültig, bis sie durch
:inen neuen Funktionskode oder ein neues Zcilensegment geändert werden.
5.3.2.2 Umkehrvideoset
Das Umkehrvideo hat folgende Struktur
[RV SET] = [XPOS] [RVY PAIR] [RVX PAIR]
und ,.
[RVY PAIR] = [RVY HIGH] [RVY LOW]
[RVX PAIR] = [RVX HIGH] [RVX LOW]
^ ^ ^ \Cr»ntnrpncnp;rhf*r
Der Röhrenspeicher hat folgende Grundslruktur:
[OUTLINE FILE] = {[CURVE UPDATE FILE] / [CHAR OUTLINE]) d. h.
[KONTURENSPEICHER] = {[KURVENÄNDERUNGSSPEICHER] / [SCHRZKONTUR]}
Der Schriftzeichenkonturenspeicher stellt die Daten des Schriftzeichensatz-Randomspeichers RAM für das
spezielle durch das Datenverwaltungs-Untersystem DMS in folgendes Format formatierte Schriftzeichen dar:
[CHAR OUTLINE] = [PURVE UPDATE FILE] [SLOPE FILE] d. h.
[SCHRZKONTUR] = [KURVENÄNDERUNGSSPEICHER] [SCHRÄGE-SPEICHER] 30
Der Kurvenänderungsspeicher ist der Anfang für jede Kurve im Schriftzeichen
[CURVE UPDATE FILE] = {[OUTLINE STARTS]!
[OUTLINE STARTS] = [YN][XN] [SLOPE ADD] d. h.
[KURVENÄNDERUNGSSPEICHER] = {[KONTURANFANG]} 35
[KONTURANFANG] = [YN][XN] [SCHRÄC-ZUNAHME]
Die Vorzeichen im XN-Wort im Konturenspeicher wurden durch das Datenverwaltungs-Untersystem DMS
komplementiert, wenn fehlerhalfte Ablesung stattfindet.
Während das Konturenumsetzer-Untersystem OCS die Konturen verarbeitet, werden die OUTLINE- 40 STARTS-Daten so verändert, daß sie den augenblicklichen Verarbeitungspunkt innerhalb jeder Kontur darstellen.
Der Schräge-Speicher (slope file) ist
[SLOPE FILE] = {[VECTORS] / [CONTROLS])
Die Steuerungen sind in den Abschnitten 4.3.1 und 2.4.3 definiert.
Tabelle 5
Seiten-Struktur
[PAGE] = [INITIAL DATA RAM] {[DATA RAM]}
[INmAL DATA RAM] = [YLMT][NEW PAGE][PAGE SECTION]
[DATA RAM] = [YLMT] [PAGE SECTION]
[PAGE SECTION] = [LINE SEG FILE] [OUTLINE FILE]
[LINE SEG FILE] = {[LINE SEG] [END RAM]] 55
[END RAM] = [END DATA] / [END PAGE]
Tabelle 6
Struktur des Zeilensegment-Speichers
[LINE SEG] = [SEG START] {[CHAR SET] / [RV SET]}
[SEG START] = [YSET PAIR] / [LINK PAIR] / [YACC PAIR]
[YSET PAIR] = [YPOS] [ZERO DATA WORD]
[LINK PAIR] = [LINK HIGH] [LINK LOW]
[YACC PAIR] = [YACC HIGH] [YACC LOW] ^5
[CHAR SET] - [INITIAL CHAR] {[CHAR PAIR]}
[INITIAL CHAR] = [A YS PAIR] [SCALE PAIR] [XPOS] [CHAR PAIR]
[A YS PAIR] = [A YS HIGH] [A YS LOW]
Fortsetzung
[SCALE PAIR] = {SCALE HIGH] [SCALE LOW]
[CHAR PAIR] = {[FUNCTION]} [OUTLINE ADRESS]
[FUNCTION] = P(POS] / [SCALE PAIR] / [SLANT OFF] / [SLANT +7] / [SLANT -7] I
[SLANT +14] / [SLANT -14] / [BLJ] / [INfULL]
[RV SET] = [XPOS] [RVY PAIR] [RVX PAIR]
[RVY PAIR] = [RVX PAIR] [RVY LOW]
[RVX PAIR] = [RVX HIGH] [RVX LOW]
Tabelle 7 Struktur des Konturenspeichers
[OUTLINE FILE] = {[CURVE UPDATE HLE] / [CHAR OUTLINE]}
[CHAR OUTLINE] = [CURVE UPDATE HLE] [SLOPE HLE]
[CURVE UPDATE HLE] = {[OUTLINE STARTS]} [OUTLINE STARTS] = [YN][XN] [SLOPE ADD] [SLOPE HLE] = {[VECTORS] / [CONTROLS]}
5.4 Terminalelemente
Tabelle 8 faßt alle kodierten Eintragungen in den Eintragungen des Daten-Randomspeichers zusammen. Die
unkodierten Elemente, YLMT, YSACC und Konturenelemente innerhalb eines Daten-Randomspeichers Data
RAM sind in der Tabelle nicht aufgeführt: es handelt sich um 16-Bit-Binärwerte, deren Positionen den Kodetyp
definieren. Die unkodierten Konturenelemente des Daten-Randomspeichers entsprechen den in Abschnitt 2.4.3 definierten; die oben definierte Syntax ist einzuhalten.
5.4.1 ([OUTLINE ADDRESS] = »outline address«) d. h. Kontur-Adresse
Dies ist eine 14-Bit-Zahl, die die Adresse im Konturenspeicher der zu verarbeitenden Schriftzeichenkontur
bestimmt. Die Adresse weist immer auf die erste Kurve der Kontur im Änderungsspeicher (update file). Es ist eine Wortadresse und muß daher verdoppelt werden, um die Byte-Adresse in den 32K-Randomspeicher RAM zu bekommen. (Da alle Daten im Randomspeicher 16-Bit-Kode sind, fangen die Kode immer bei einer geraden
Byte-Adresse an).
5.4.2 [YPOS] = »YPOS«
Das ist die gleiche Kode, wie sie in das Datenverwaltungs-Untersystem DMS eingetragen wurde. Hinsichtlich Format und Definition siehe Abschnitt 4.2.2.2. Im Konturenumsetzer-Untersystem OCS zeigt er eine zusätzliche Funktion. Er bezeichnet nicht nur den Anfang eines neuen Zeilensegments, er beendet auch das vorausgehende Zeilensegment.
5.4.2.1 [ZEOR DATA WORD] - »ZERO DATA WORD« d. h.
[NULLDATENWORT) - »NULLDATENWORT«
Dieses unkodierte 16-Bit-Feld folgt immer auf YPOS. Es dient als Kissen, wenn ein Zeilensegment aktiv wird. 5.4.3 [YACC HIGH] - »YACC HIGH«
Dieser Kode definiert die wichtigsten 8 Bits des Satzniveaus in DRUs. Er enthält die 8 wichtigsten ganzzahligen Bits des Werts.
SJ 5.4.3.1 [YACC LOW] - »YACC LOW«
Dies ist ein 16-Bit-Feld, das stets auf YACC HIGH folgt. Es enthält die verbleibenden 2 ganzzahligen BiU und die 11 Dezimalbits des Satzniveaus: die niedrigstwertigen Bits sind immer O.
5.4.4 [XPOS) = »XPOS«
Dies ist der gleiche Kode wie er in das Datenverwaltungs-Untersystem DMS eingetragen wurde. (Hinsichtlich Format und Definition siehe Abschnitt 4.2.2.3) mit der Ausnahme des Falls, daß der Schalter fehlerhalfie Ablesung gesetzt wird, wenn das Komplement der Seitenbreite von XPOS (PG WDTH-XPOS) eingetragen wird.
5.4.5 [NULL] = »NULL«
Der Nullkode wird verwendet, um Elemente innerhalb eines Zeilensegments zu streichen. Das Datenverwaltungs-Untersystem DMS führt diesen Kode ein, um Schriftzeichensatz-Anfragen innerhalb eines Segments zu streichen, wenn sie bearbeitet werden. Das Konturenumsetzer-Untersystem OCS führt diesen Kode ein, um »Konturenadresse« zu entfernen, wenn sie vervollständigt ist.
Tabelle 8
15 14 13 12 11 10 9 8 O 0 0 0 7 6 5 Null 4 3 2 1 Abschnitt 5.4.1
0 0 Character Outline Address)
Schriftzeichen-Konturen-Adresse)
O 0 0 1 AYs High Abschnitt 5.4.2
0 1 [YPOS data in RRU's)
YPOS-Daten in RRU
O 0 1 0 Δ Ys Low Abschnitt 5.4.4
1 0 [XPOS data in RRU's)
XPOS-Daten in RRU
O 0 1 1 Scale High Abschnitt 5.4.5
1 1 0 O O 1 0 0 Scale Low Abschnitt 5.4.6
1 1 0 O O 1 0 1 BU Abschnitt 5.4.7
1 1 0 O O 1 1 0 Link High Abschnitt 5.4.8
1 1 0 O O 1 1 1 Link Low Abschnitt 5.4.9
1 1 0 O 1 0 0 0 RVY High Abschnitt 5.4.10
1 1 0 O 1 0 0 1 RVY Low Abschnitt 5.4.11
1 1 0 O 1 0 1 0 RVX High Abschnitt 5.4.12
1 1 0 O 1 0 1 1 RVX Low Abschnitt 5.4.13
1 1 0 O I 1 0 0 (New Page)
Neue Seite
Abschnitt 5.4.13
1 1 0 O 1 1 0 1 (Siant OfT)
Schrägstellung Aus
Abschnitt 5.4.13
1 1 0 O 1 1 1 0 (Slant +7)
Neigung +7
Abschnitt 5.4.13
t
f
1 0 O 1 1 1 1 (Slant -7)
Neigung -7
Abschnitt 5.4.14
1 1 0 O O 0 0 0 (Slant +14)
Neigung +14
Abschnitt 5.4.15
1 1 0 O O 0 0 1 (Slant -14)
Neigung -14
Abschnitt 5.4.15
1 1 0 O O 0 1 0 (End of Data)
Datenende
Abschnitt 5.4.15
1 1 0 O O 0 1 1 (End of Page)
Seitenende
Abschnitt 5.4.15
1 1 0 1 O 1 0 0 YACC High Abschnitt 5.4.15
1 1 0 1 O 1 0 1 (Font Call)
Schriftsatz-Abruf
Abschnitt 5.4.16
1 1 0 1 Abschnitt 5.4.17
1 1 0 1 Abschnitt 5.4.3
1 1 0 I Abschnitt
1 1 0 1
5.4.6 Ys HIGH] = »A Ys HIGH«
Es enthält die wichtigsten 8 Bits der Rechnung 43.2/PUNKTGRÖSSE. Es besteht aus einer 5-Bit-Ganzzahl und
einer 3-Bit-Ganzzahl.
5.4.7 [A Ys LOW] = »A Ys LOW«
Es enthält den verbleibenden 8-Bit-Dezimalwert der Rechnung 43.2/PUNKTGRÖSSE. Dieser Kode folgt immer auf ein Ys HIGH.
5.4.8 [SCALE HIGH] = »scale high«
Es enthält die wichtigsten 8 Bits der Rechnung Satzbreite/43.2. Es besteht aus einer 4-Bit-Ganzzahl und einer 4-Bit-Dezimalzahl.
5.4.9 [SCALE LOW] = »scale low«
Es enthält den verbleibenden 8-Bit-Dezimalwert der Rechnung Satzbreit/43.2. Dieser Kode folgt stets auf ein »scale high«.
5.4.10 [BU] = »BLJ«
Dieser Kode definiert die Schriftlinienadaption in 154steln. Hinsichtlich Format siehe 4.2.2.9. 5.4.11 [LINK HIGH] = »link high«
Dieser Kode liefert die wichtigsten 8 Bits einer Bindeadresse, die verwendet wird, um Zeilensegmente zu überspringen, die bereits komplettiert sind.
5.4.12 [LINK LOW] = »link low«
Dieser Kode liefert die unwichtigsten 8 Bits einer Bindeadresse, die verwende wird, um Zeilensegmente zu überspringen. Dieser Kode folgt immer auf den »link high«-kode.
5.4.13 [RVYHIGH] = »RVY high«
[RVYLOW] = »RVY low«
[RVXHIGH] = »RVXhigh«
[RVXLOW] = »RVXlow«
Diese Kode müssen in der übige Reihenfolge auftreten. Die niederwertigen 8 Bits definieren die Umkehrvideogrenzen.
5.4.14 [NEW PAGE] = »New Page« d. h. Neue Seite
Diese Steuerung definiert einen Daten-Randomspeicher Data RAM als ersten einer neuen Seite. Sie muß vor dem ersten Zeilensegrnent einer Seite ausgegeben werden.
Bit 0 ist eine 0 für normalen Standardbetriebsmodus und ist eine 1 für einen Prüfseitenmodus. Bit 1 ist eine 0 für normale Auflösungseinheiten (1/10 Punkt pro Rätter) und ist eine 1 für Einheiten hoher Auflösung (1/20 Punkt pro Raster). Die anderen 6 LBSs haben keine Bedeutung.
5.4.15 [SLANTOFF] = »slant olT« Neigung
[SLANT +7] = »slant +7«
[SLANT -7] = »slant -7«
[SLANT+14] = »slant+14«
JO [SLANT-14] = »slant-14«
Diese Kode definieren, welche Neigungskonstante Tür die folgende Konturrechnung verwendet wird. Die LSBs haben keine Bedeutung.
5.4.16[END DATA] = »End data«, d.h. Datenende
Dieser Kode folgt auf das letzte Zeilensegment innerhalb des Datenrandomspeichers Data RAM. Er informiert das Konturenumsetzer-Untersystem OCS, daß weitere Daten Für diese Seite im nächsten Datenrandomspeicher Data-RAM folgen. Die LSBs haben keine Bedeutung.
5.4.17 [END PAGE] = »End page«, d. h. Seitenende
Dieser Kode folgt auf das letzte Zeilensegment innerhalb des Datenrandomspeiehefs. Es infofmiert das Konturenumsetzer-Untersystem OCS, daß keine weiteren Datenrandomspeicher Data-RAMs für die Seite folgen. Die LSBs haben keine Bedeutung.
ft5 5.4.18 [YLMT] = »Y limit«, d. h. Y-Grenzwert
Dieser Terminal ist der erste Kode im Datenrandomspeicher. Es handelt sich um eine 14-Bit-Zahl, die den letzten Raster in RRUs definiert, der durch das Konturenumsetzer-Untersystem OCS mit den Daten im Datenrandomspeicher Data-RAM ausgegeben wird.
5.4.19 »Font Call« ü. h. Schrittsatzabruf
Dieser Kode wird durch den 7.80Λ erzeugt, um Schriftsatzabruf-Prozesse zu vereinfachen. LIs handelt sich um einen vorübergehenden Kode, der vor der Freigabe des Datenrandomspeichers Data RAM an das Konturenumsetzer-Untersysteme OCS zur Verarbeitung der Ausgabe durch einen Null-Kode ersetzt wird. S
6. Konturenalgorithmus
Der Konturenalgorithmus stellt Formeln und Prozesse dar, die die Schnittlinien der Raster mit den Konturen der auf jedem beliebigen vertikalen Niveau der Seite zu setzenden Schriftzeichen lösen und speichern. Diese Schnittlinien sind die horizontalen Positionen, bei denen der Laserstrahl ein- und ausgeschaltet werden muß, wenn er von den Rasterlinien abweicht.
6.1 Grundlegende Konturen-Schnittlinien
Alle Schriftzeichen im Datenset werden durch eine Reihe von Anfangsadressen und Vektoren beschrieben, die die Konturen der Schriftzeichen umreißen. F i g. 18 veranschaulicht die zur Lösung einer Kontur verwendeten Faktoren. (Zur Korrelation vgl. Fig. 9).
Der Vektor VN stellt einen Rand eines Schriftzeichens dar. Der Abstand vom linken Rand der Seite zu dem Punkt auf diesem Vektor, wo er durch das laufende Rasterniveau gescbni tten wird, soll gelöst werden. Man sieht, daß dieser Abstand, der hier als XREG definiert ist,
XREG = XPOS + XN + AX
Der allgemeine Ausdruck muß also die Möglichkeit berücksichtigen, daß XN auf der linken Seite gelassen wird (XN-Zeichenbit ist negativ) und daß der Vektor nach unten u~.d nach links zeigen kann (das Daten-L-Bif ist eins), was zu einem negativen X führt:
XREG = XPOS ± XN ± Δ Χ
Da XREG in Rasterauflösungseinheiten (RRU) für die endgültige Laserausgabe gewünscht wird, müssen die entsprechenden Skalenfaktoren angewandt werden. XPOS wkd vom Eingabesystem in RRUs eingegeben und wird während des gesamten Ausgabedatenverarbeitungssystems aufrechterhalten. XN und die Δ X-Faktoren werden in relativen Schriftzeicheneinheiten gespeichert, damit ein Setzen von Schriftzeichen aller Größen aus einem Datensatz möglich wird. Die horizontale Maßstabsänderung der Schriftzeichen basiert auf dem Setzbreitekommando, damit Ausdehnung und Komprimierung der Schriftzeichen für Abbildungszwecke und/oder kopierfähige Zwecke ermöglicht wird. Der Ausdruck wird:
XREG = XPOS + [± XN ± Δ X] [SW/43.2]
Ähnliche Dreiecke werden benutzt, um geometrisch für A X zu lösen: Δ X dx
(Ys-YN) dy '
45 Durch Ersetzen:
XREG = XPOS + [± XN ± (Ys - YN) (dx/dy)] [SW/43.2] (1)
In der allgemeinen Form der obigen Gleichung sind XN und YN die Anfangsadressen des Vektors VN, dessen Neigung dx/dy ist. Ys ist der Abstand in Schriftzeicheneinheiten, definiert als Datenauflösungseinheiten (DRUs), von den Nu!ld?ten auf dem erweiterten Geviertbereich des Schriftzeichens zum Rasterniveau. Ys ist also eine Funktion der zu setzenden Punktgröße und des Rasterabstands in RRUs vom oberen Teil des Gevierts:
Ys = (YSL - VHI) (43.2/Punktgröße)
In der Praxis sucht der Algorithmus die zunehmenden Ys in einer Tabelle auf, wobei Δ Ys = (43.2/Punktgröße) ist
und addiert diesen Wert den vorausgehenden Ys für jede neue Rasterzeile.
6.2 Grenzbit und Ein/Aus-Pufferspeicher
Gleichung (1) wird für alle Schriftzeichen-Konturensektoren gelöst, die das I ,ufende Raster schneiden. Inner- A5 halb der Schriftzeichendaten ist ein Grenzbit (B-Bit) mit jeder Konturenreihe eingebettet, welche aufzeichnet, ob die Kontur den L?serstrahl ein- oder ausschalten soll.
Die schließlich erhaltenen Lösungen jeder Schnittstelle werden in einem EIN-Randomspeicher ON RAM
oder einem AUS-Randomspeicher OFF RAMJe nach dem Zustand des B-Bits, gespeichert. Diese Randomspeichcr, die sogenannte »RasterlinienpulTer« darstellen, sind jeweils 8K lang und enthalten jeweils ein Bit für jedes horizontale Aufiösungselement (Bezug: Abschnitt 7.5). Jede XREG-Rechnung fuhrt zum Setzen eines bestimmten Randomspeicher-Bits, das dem Wert der XREG-Lösung entspricht, lnkrementbildungs-lechniken veranlassen, daß ein angrenzendes Bit gesetzt wird, wenn eine Lösung einer vorausgehenden Lösung auf der gleichen Raslerzeiie identisch ist, was sich ergeben kann, wenn die Schriftzeichen überlegt oder unterschnitten sind.
6.3 Lange Vertikale
Zur Verstärkung der Datenkomprimierung sind ein Paar Datensteuerbytes zur Verwendung im Vektordatenstrom vorgesehen, um vertikale Vektoren zu definieren, die langer als der nominal längste zulässige geneigte Vektor VN (dessen Maximallänge durch die 15 DRU-Grenze bei dy und dx eingeschränkt ist).
Ein Steuerbyte wird zu Definition dieser Bedingungen verwendet, wobei dx (und daher auch Δ X) Null sind, und das folgende Byte definiert die dy-Lange des Vektors in Binärkode (Bezug Abschnitt 2.4.3 »Steuerungen», wo dx = 3). Dieses Datenbyte-Paar könnte jeden vertikalen Vektor mit einer Länge zwischen 1 und 255 DRUs definieren. Seine Verwendung wurde jedoch auf Vektoren mit Längen 31 und 255 DRUs begrenzt, weil (a) Längen zwischen 1 und 15 DRUs mit weniger Daten ausgedrückt werden können, wobei die verfügbare nichtgesteuerte dydx-Definitvektorkodierung ve-wendet wird, und (b) Längen zwischen 16 und 30 DRUs im 8X300-Mikroprozessor schneller verarbeitet werden können, wenn sie als zwei definite vertikale Vektoren ausgedrückt
6.4 Steile Schrägen
Es gibt Schriftzeichenkonturen, die eine derartige steile, fast vertikale. Neigung haben, daß sie bei Verwendung des steilsten nicht-vertikalen dxdy-Paars auf Grund der 15-DRU-Begrenzung nicht adäquat definiert wer den können. Würden diese Konturen durch die Kombination einer langen Vertikalen und eines 1/15-Vektors definiert (dieses Paar würde die Endpunkte des gewünschten steilen Vektors exakt definieren), dann würde die verwendete Ausgabe jeden Bestandteil des Paars genau ausgeben; dies würde einem Schriftzeichenrand bei großen Punktgrößen jedoch ein unsauberes Aussehen verleihen, besonders dann, wenn die vertikale Komponente des Paars länger als die schräge Komponente ist.
Es wurde eine Peihe von Steuerbytes definiert, die es gestatten, daß alle steilen Vektoren durch die Kombination einer vertikalen Komponente und einer längeren schrägen Komponente definiert werden. Die Steuerbytes (siehe Abschnitt 2.4.3 »Steuerungen«, wo dx = 4,5 und 6) definieren Vektoren mit Neigungen von 1/30, 1/60 und 1/230; sie werden mit vertikalen Vektoren oder langen Vertikalen verwendet, je nachdem, was zur Vervollständigung des exakten steilen Vektors erforderlich ist.
Da der festverdrahtete Prozessor (HWP) (siehe Abschnitt 7) keine 1/30, etc., Neigungen akzeptiert, wird die Lösung dieser Steuervektoren so erreicht, daß der SMS300-Mikroprozessor dem HWP kompensierte Werte zufiihrt. Der S.MS300 gibt den Wert eines ! /! S-Vekiors in den HWPein, verringerta&cf die Ys- und YN-Werte, so daß sich eine halbierte (oder geviertelte oder geachtelte) Δ X-Lösung ergibt.
6.5 Schwache Schrägen
Es gibt Schriftzeichenkonturen, die eine derartige schwache Neigung haben, daß sie durch ein dxdy-Paar auf Grund der 15-DRU-Begrenzung nicht definiert werden können. In diesem Fall ist dy ein DRU und dx muß größer sein als 15 DRUs. Ein Steuerbyte wird verwendet, um diese Bedingung zu definieren, und das folgende Byte definiert ein Vielfaches (1 bis 15) von 16 DRU Verschiebungen plus einer Verschiebung von weiteren 0 bis 15 DRU (siehe Abschnitt 2.4.3: »Steuerungen«, wobei dx = F). Jeder Vektor mit einem dx zwischen 16 DRUs und 255 DRUs in Verbindung mit einem dy von 1 kann durch dieses Byte definiert werden.
Das obige Vielfache wird als K definiert, und dies ändert die Grundgleichung wie folgt: XREG = XPOS + [± XN ± (Ys - YN)(dx/dy + 16K)] [SW/43.2] O
6.6 Eckige Außenformen
Schriftzeichenkonturen wie etwa die rechte Seite eines großen »E« der»Helvetic«-Schrift haben eckige Form. Diese Formen können als eine Reihe individueller vertikaler Konturen behandelt werden; dies würde jedoch voraussetzen, daß eine gültige Datenladung die Anfangspositionen einer jeden Kontur aufzeichnet. Es wurden daher zwei Steuerbytes vorgesehen, die die Verhältnisse einer Kontur definieren, die sich horizontal in geradliniger Form während einer vertikalen DRU verschiebt (im Vergleich mit einer schwachen Schräge, die sich wäh- rend einer vertikalen DRU in schräger Form horizontal verschiebt). Ein Steuerbyte (siehe Abschnitt 2.4.3: »Steuerungen«, wo dx = D) definiert horizontale Verschiebungen bis zu 255 DRUs; das zweite Steuerbyte (siehe Abschnitt 2.4.3: »Steuerungen«, wobei dx = E) definiert Verschiebungen zwischen 256 und 511 DRUs einschließlich. Der Mikroprozessor 8X300 gibt dx und K als Null innerhalb dieser vertikalen DRU-Zone aus, damit eine gekantete Konturenform erhalten wird.
6.7 Extrapolation Nähert sich das lautende Rasterniveau 1 DRU des anfanglichen YN (Anfang) einer Kontur, dann wird eine
Lösung durchgeführt. Es handelt sich um eine extrapolierte Lösung, da das Rasterniveau den Vektor noch nicht erreicht hat. In diesem Fall ist Ys kleiner als YN, das den Ausdruck (Ys-YN) negativ macht, was wiederum die Polarität des Vorzeichens, das diesem Ausdruck in der Gleichung (2) oben vorausgeht, umkehrt [A X kehrt das Vorzeichen um).
Die Neigung des nächsten folgenden Vektors wird verwendet, während Ys größer als Yn-I und gleich oder kleiner als YN, vorausgesetzt, daß das Flatterbit (siehe Abschnitt 6.8) nicht eingeschaltet ist. In dieser Zone ergibt sich eine echte Extrapolation.
6.8 Flatterbit
In zwei Fällen ist die Extrapolation auf die folgende Neigung unzureichend flach zur qualitativ zufriedenstellenden Reproduktion eines Schriftzeicnens. Im Fall 1 wünscht der Drucker auf Grund einer Sichtprobe des realen oder des simulierten Schriftzeichenausgangs eine schwächere Eingangsneigung in der Extrapolationszone. Ein Flatterbit (F-Bit) wird im XN-Datenwort verwendet, das er ansetzen kann. Im Fall 2 erzeugt ein sehr feines vertikales Rücksprungmerkmal des Schriflzeichens Anfangspunkte ohne folgende Vektoren; in diesem Fall is setzt das Schriftzeichen-Digitalisierungsprogramm das Flatterbit automatisch auf eine Eins. Das Digitalisierungsprogramm setzt das Flatterbit auch auf eine Eins, wenn der Anfangsvektor eine Neigung hat, die geringer als 30° ist.
Ist das Flatterbit eingeschaltet, dann wird der K-Wert in der Gleichung (2) nur Tür die Extrapolationszone auf einen Wert Eins gesetzt, wodurch die Neigung in dieser Zone verringert wird. Dies wird durch das Konturenum- μ setzer-Untersystem OCS gesteuert.
6.9 Extrapolations-Löschbit
Das Ε-Bit im XN-Datenwort löscht die Extrapolation. Dieses Bit kann durch den Drucker auf eine Eins gesetzt werden.
6.10 Schrägstellung
Elektronische Schrägstellung eines Schriflzeichens besteht darin, daß man die Schriftzeichenkonturen innerhalb eines Geviertes nimmt und sie in einer bestimmten Anzahl von Graden in der rechten oder linken Richtung, je nach gewünschter Schrägstellung, in die Grundform eines Parallelogramms bringt. Dies geschieht um eine neutrale Mittelachse, die an Ort und Stelle bleibt; Ys von 344 DRUs ist das Niveau der neutralen Achse. Die Veränderung der Konturen in der x-Stellung, die durch diese Schrägstellung bedingt ist, ist also
SLC = (344 - Ys) (tg Schrägstellungswinkel)
r\: .ix :_.- C-U.^—.»ii.._„....:„u.ι -J-- -ι- ι ι n~A ..-J \λ n.nA „»...:;uu ...„:i :u-« x„_„„„>.· ι /ο κ,,.,
u\%* Z.uio33l0bll LiUItI ogaibii uiigDTr ninwi nuiubiiaia /,i VJ lau uit\J ιτυ lau gv vraint, ττ\.ιι mi ν laiigvtuba ifu i/tir.
1/4 betragen und daher eine Skalierung des SLC durch Bit-Verschiebung zulassen.
Setzt man diesen endgültigen Faktor in Gleichung (2), so führt die zu
XREG = XPOS + [± XN ± (Ys - Yn)(dx/dy + 16K) ± SLC] [SW/43.2] (3)
Dies ist die Lösung, die durch das Konturenumsetzer-Untersystem OCS und den festverdrahteten Prozessor HWP gelöst wird.
6.11 Umkehrvideo
Umkehrvideo folgt nicht der Gleichung des Konturenalgorithmus; es kehrt lediglich die resultierende Ausgabe von den EIN/AUS-Puffern (siehe Abschnitt 6.2) zwischen zwei Stellungen horizontaler Lösung um. Diese so Stellungen sind durch das Eingabesystem bestimmt, das auch die vertikalen Grenzen bestimmt, in denen die Umkehr wirksam ist. Die Punkte sind in einem Randomspercher RAM in ähnlicher Datenstruktur wie die EIN/ AUS-Randomspeicher ON/OFF RAMs gespeichert.
Diese Fähigkeit kann auf einfache Art horizontale Linierr, vertikale Linien oder Umkehrvideoblocks erzeugen. Überlappende Umkehrvideobereiche kehren sich an der Überlappungsstelle um.
Randlinien können durch Definition eines Bereichs innerhalb eines zweiten hergestellt werden. Unterstreichung kann ähnlich durch zwei RV-Bereiche definiert werden. Bei der Spezifizierung sich überlappender RVs muß jedoch Sorgfat beachtet werden. Horizontale Linien, die vertikale Linien schneiden, haben beispielsweise weiße Schnitte und RV-Unterstreichung, die Schriftzeichen schneidet, ist an den Schnitten weiß.
6.12 Linienziehen
Es sind Zeilenlinierungskommandos, die ähnlich wie Umkehrvideokommandos definiert sind, vorgesehen, so daß Linien hergestellt werden können, die sich optisch nicht umkehren, wenn sie Schriftzeichen oder andere Linien kreuzen.
Bits werden in die entsprechenden EIN/A US-Puffer gesetzt, spezielle Hardware ist für diesen Zweck im festverdrahteten Prozessor HWP jedoch nicht vorgesehen. Der 8X300 gibt einen XPOS-Wert an den HWP, der dem entsprechenden Ende der Linie (LRX HIGH, LRX LOW) entspricht und gibt ein Null dx und ein NuII-XN aus, wobei entsprechende Grenzbits zur Durchführung dieser Funktion gesetzt sind.
4.J TV/ K)S I
6.13 Falsche Ablesung
Zur Erzielung einer falschen Ablesung errechnet man XPOS durch Subti,.ktion des eingegebenen XPOS von der Seitenbreite, um den Abstand vom rechten Rand der Seite zu erhalten. Das Vorzeichen eines jeden XN und 5 seiner L- und B-Bits wird ebenfalls komplementiert, um jedes Schriftzeichen effektiv fehlerhaft abzulesen. Diese Aufgaben werden während des Aufbaus des Daten-Randomspeichers Data RAM durch das Datenverwaltungs-Untersystem DMS (Z80A) durchgeführt und sind codeunabhängig (transparant) gegenüber dem Konturenumsetzer-Untersystem OCS, das die Daten auf übliche Weise für die normale Laserstrahl-Abtastung von links nach re:hts ausgibt.
6. Festverdrahteter Prozessor 7.1 Allgemeines
Der festverdrahtete Prozessor (HWP) erhält Daten und Steuerungen vom Konturenumsetzer-Untersystem 15 (OCS) und vom Laserrecorder oder der »Lichtsetzeinheit« (PTU) und sendet ein »Videosignal« wie auch andere Steuersignale an die PTU. Diese Funktionen weiden durch die Ausführung folgender allgemeiner Schritte durchgeführt:
(1) Unter Verwendung der Eingangsdaten und Steuerinformation aus dem OCS werden die Ein/Aus-Punkte 20 und eine Umkehrvideopunkte errechnet, und »Eins«-Bits werden in ein »EIN«-Register. ein »AUSw-Reju ster oder ein »Umkehrvideo«-Register gesetzt; sie werden hier als »Ausgaberaster-Zeilenpuffer« bezeichnet.
(2) Unter Verwendung eines Eingabe-Taktgebers und Steuerungen von der PTU wird ein Video-NR-Steuersignal erzeugt, das von den in den Ausgaberaster-Zeilenpuffer gesteuerten »Einsen« abhängige Übergänge
25 aufweist.
;. (3) Unter Verwendung intern erzeugter Kennzeichen werden die durchschnittlichen Eingabe- und Ausgabe-
' ■·;■■ Übertragungsgeschwindigkeiten so justiert, daß sie die große Breite in der Dauer (oder der Menge) der Eingabedaten kompensieren.
., (4) Unter Verwendung von F.ingabcsteuerungen vom Konturenumsetzer-Untersystem OCS und der Lichtsetz-
1 .ίο einheit PTU werden die RasterzeilcnpulTer gelöst und die erforderlichen Steuer- (oder Antwort-)Signale
an die PTU, beispielsweise zur Ingangsetzung des Antriebsmotors der Vorschubwalze der Lichtsetzeinheit PTU, gesandt (Element 58 in Fig. 2).
Das Videosteuersignal ist das Strahlmodulationssignal für den Laserrecorder. An den Schriftzeichenumgren-
■ 35 zungen treten Ein-Aus-Übergänge auf. Die Eingabedaten basieren auf den Schriftzeichen in jedem zu drucken-• den Zeilensegment bzw. Liniensegment. Da sich Zeilensegmente überlappen dürfen, dürfen sich auch Schrift-ΐ zeichen überlappen. Um dies unterzubringen, wird eine Technik verwendet, die einen »EIN«-Puffer und einen λ »AUS«-Puffer benutzt. Jeder Puffer stellt einen Speicher von genügendem Raum dar, um ein Bit zu speichern, ΪΪ das jedes Element einer einzelnen Abtastzeile darstellt. Der »EIN«-Puffer speichert ein Eins-Bit in jenen EIe- £ 40 menten, die einen Schwarz-Weiß-Übergang eines Schriftzeichens darstellen und der »AUS«-Puffer tut das ii gleiche für den Weiß-Schwarz-Übergang. In Fällen, in denen zwei Schriftzeichen einen Übergang am gleichen ν' Element haben, wird das nächsthöhere Adressenelement auf Eins für den »EIN«-Übergang und das nächstnied-% rigere Adressenelemer·. auf Eins für den »AUS«-Übergang gesetzt. Zur Erzeugung des Ausgangs-Videosignals .\ werden die aufeinanderfolgenden Einsen im Puffer demoduliert, wobei die aus dem »EIN«-Puffer stammenden
■ 'ι 45 einen Aufwärts-Abwärts-Zählerstand vermindern und die aus dem »AUS«-Puffer stammenden den Zählerstand I; vergrößern. Wird der Zähler auf einen negative Zahl vermindert, dann ist das Video-Ausgangsniveau (niedrig
5 relativ zur PTU) so, daß es den Laserstrahl einschaltet.
ί Für die Umkehrung der üblichen Schwarz-auf-Weiß-Ausgabe wird ein »Umkehrvideo«-Puffer (RV-Puffer)
■;3 von gleicher Größe wie die EIN/AUS-Puffer verwendet. Ein Eins-Bit im RV-Puffer kehrt die Polarität des Aus-"■: 50 gabevideosignals für dieses Element und alle folgenden Elemente bis zum nächsten Eins-Bit im RV-Puffer um.
gj Ein Schalter, mit »Global RV« bezeichnet, macht die Umkehrung der Video-Polarität für eine ganze Seite mög-
ü\ lieh.
£j Zur Erleichterung eines raschen Durchsatzes werden die Ausgaberasterzeilenpuffer dupliziert, so daß Einle-[j? sen (Laden) und Auslesen (Entladen) gleichzeitig durchgeführt werden können. Die Puffer sind entweder in der |ΐ 55 Betriebsart zum Empfang der eine Zeile darstellenden Eins-Muster oder zur Ausgabe zur Erzeugung des Video's signals vorgesehen. Beide Betriebsarten stellen Lese-Schreib-Operationen im Speicher dar, da im Falle der Aus- :g gabe-Betriebsart Nullen eingeschrieben werden, die die Einsen ersetzen. Die Puffer können dann durch paral-Jg IeIe Eingänge (ports) vom Konturenumsetzer-Untersystem OCS, die zwei Entladeschritte durchführen, in eine f Gesamt-Null-Situation (all zero condition) gebracht werden.
1 7.2 Eingabe
ff ' Der festverdrahtete Prozessor empfängt seine Eingabe von drei »I V«-Bytes. Jedes IV-Byte hat 8 Bits. Zwei die-
,i. ser Bytes sind »Datenbytes« (D ATA HIGH, DATA LOW), das dritte ist ein »Steuerbyte«, das dem festverdrahte-
fö 65 ten Prozessor HWP anzeigt, welche Funktion als nächste auszugühren ist. Das Format des Steuerbytes ist in F i g.
19A dargestellt.
H Ist das Austauschbit (handshake bit) Null, dann deutet es an, daß nichts zu tun ist. Wünscht das Konturenum-
,Il seizer-Untcrsystem OCS, daß der festverdrahtete Prozessor HWP eine Funktion ausführt, dann läßt es das oder
38
die Datenbyte(s) mit allen erforderlichen Daten und setzt dann das Steuerbyte mit der entsprechenden Steuerung, was das Austauschbit einschließt. Akzeptiert der testverdrahtete Prozessor HWP die geforderte Funktion, setzt er das Austauschbit auf Null zurück.
Die Steuerinformation ist eine von drei Grundarten:
(a) Ladevariable
(b) Lösung und
(c) Ausgabe
Die Daten-Ladevariablen sind in Tabelle 9 aufgeführt. Die in Tabelle 10 aufgeführten Ausgabesteuerungen stehen außer für das RVX (Steuerung 88), das einen Umkehrvideo-Begrenzungsspeicher steuert, mit der Lichtsetzeinheit PTU in Verbindung.
Die Lösung-Steuerung (87) wird mit der dydx-Dateneingabe geduplext und ist die Steuerung, die vom HWP die Lösung der Gleichung verlangt. Vor der Lösung muß das Daten-IV-Byte eingegeben werden.
25 30 35 40 45 50
7.3 Ein/Aus-Lösung
Die zu lösende Cleichung lautet:
55
XREG = XPOS + [± Xn ± A X ± SLC] SCALE
wobei AX = (Ys - Yn) (^- + 16K).
dy
Das Vorzeichen des Ergebnisses von A χ hängt vom Ergebnis der Subtraktion (Ys - Yn) ab und von der Richtung der Kurve (es wird unter Steuerung 84 Bit 0 Data Low eingegeben). Die in dieser Gleichung verwendeten Parameter werden durch den festverdrahteten Prozessor HWP wie folgt verarbeitet:
XREG Dieses Ergebnis ist die zu setzende Adresse des Bits am Ein- oder Aus-Puffer. Der Puffer (ein oder aus) wird in Abhängigkeit von Bit 1 Data Low unter der Steuerung 84 gewählt (ist dieses B-Bit ein, so muB der Puffer gewählt werden).
XPOS Dieser Wert wird unter Steuerung 82 eingegeben und ist 14 Bits.
39
Tabelle 9 α Variabel Relarirn 10 RVX SPEICHER 11 K dx/dy
Datenladefunktionen SCALE Ausgabesteuerungen LADUNG NEUE SEITE wie geliefert wie geliefert
Steuerun XPOS Steuerung Ausgabe SEITEN-ENDE 1 wie geliefert
81 Yn, K 88 AUSGABE-RASTER
82 Xn, VORZEICHEN, RICHTUNG, 90
83 FLATTER, EIN/AUS, EXTRAPOLIEREN AO
84 SCHRÄGSTELLUNG CO
Ys Tabelle
85 dydx Flauer
86 0
87 1
Tabelle
Xn Dies ist eine iO-Bit-Ganzzahl-EingabeunterSteuerungM.BitoDataHighdefinier^obdiesein oder
- ist Der Wert wird als Zweiet-Komplement ausgedrückt, wenn das Vorzeichen negativ ist Ys Diese Variable wird unter Steuerung 86 eingegeben. Beim Dezimal werden nur die Bits S bis 2 in Data
Low für diese Rechnung benötigt Yn Dies ist eine negative Ganzzahl-Eingabe aus IO Bits, die unter Steuerung 83 als Zweier-Komplement
eingegeben wird. Anmerkung: (Ys - Yn) ergibt immer eine Zahl > -1 und < 15 (siehe Beschreibungen fur dydx und K).
dydx Diese Variable wird unter Steuerung 87 eingegeben. Dieser Wert wird immer wie geliefert verwendet, wenn (Ys — Yn) positiv ist Sind die Ergebnisse der Subtraktion negativ, dann wird dydx verwendet ίο oder durch dx/dy von 16 entsprechend dem Flatterbit-Status ersetzt Siehe Tabelle 11.
K Dieser Wert wird unter Steuerung 83 eingegeben und definiert in Bits 5 bis 2 von Data High. Ist (Ys - Yn) kleiner als Null, dann wird K entsprechend Tabelle 11 verwendet
SLC Die Schrägstellungs-Konstante wird unter Steuerung 85 eingegeben. Nur die 4 MSB von Data Low werden benötigt Das Vorzeichen in Bit 7 von Data High definiert ±. Der Wert wird also ein Zweier-Komplement definiert, wenn das Vorzeichen negativ ist
SCALE Dieser Wert wird unter Steuerung 81 eingegeben. Die 2 LSB von Data Low sind für die Genauigkeit
nicht erforderlich. Die Maßstabskonstante ist gleich der Setzbreite geteilt durch 43,2. E Bit 7 von Data High löscht unter Steuerung 84 die Lösungsanforderungen, wenn das Ergebnis der Sub-
traktion (Ys - Yn) negativ ist. (Ε-Bit ein löscht). 20
Fig. 19B stellt die Steuerungen und die Datenformate zusammen.
F i g. 20λ stellt ein funktionelles Blockschaltbild des Ein/Aus-Lösungsabschnitts des festverdrahteten Prozessors HWP dar.
7.4 Umkehrvideo-Eingabe
Umkehrvideobegrenzungen werden über die XPOS-Eingabe eingegeben. Der festverdrahtete Prozessor HWP akzeptiert eine XPOS-Eingabe unter Steuerung 82. Ist dieser Wert ein RVX-Punkt, dann wird die Steuerung 88 eingegeben, damit der HWP den XPOS-Wert im RV-PufTer speichert (siehe Abschnitt 7.5.2).
7.5 Rasterzeilen-DatenspeicherpufTer
Der festverdrahtete Prozessor HWP enthält sechs Datensp-iicherregister zur Speicherung der Daten, die den Laserrecorder steuern. Während die Daten in drei dieser Register an den Laserrecorder ausgegeben werden, damit eine Rasterzeile gebildet wird, speichern die anderen drei das Ergebnis der Berechnung der Schriftzeichenkoniur.
Die drei Register, die einen Steuersatz darstellen, sollen die Positionen speichern, an denen der Laserrecorder
eingeschaltet werden muß (EIN-PUFFER), an denen er ausgeschaltet werden muß (AUS-PUFFER) und an denen die normalen Ein-Aus-Bedingungen umgekehrt werden müssen (RV-Puffer). Jeder Puffer weist ein Bit auf, das für jedes Element der horizontalen Auflösung im Raster vorgesehen ist und hat daher eine Mindestlänge von 7 954 Bits.
Fig. 2OB ist ein funktionelles Blockschaltbild des Abschnitts des HWP mit den Rasterlinien-Datenspeicherpuffem.
7.5.1 EIN/AUS-PufTereingabe
Die Ausgabe des XREG-Addierwerks enthält die Adresse des Bits im Ein- oder Aus-Puffer, das eingeschaltet werden muß, um die Ein- oder Au,"=-Funktion zu speichern. Der Zustand des Grenzbits (B) bestimmt, ob der Ein- oder der Aus-Puffer geladen werden muß.
Die Beladung des Puffers muß ergeben, ob das adressierte Bit bereits aus einer früheren Lösung eingegeben war. Ist das adressierte Bit eine Null, dann kann ein Lese-Modifizier-Schreib-Zyklus am Randomspeicher RAM durchgeführt werden. Ist das adressierte Bit bereits eine Eins, dann muß der Inhalt des XREG heraufgesetzt (»der herabgesetzt, wenn das Aus-Puffer beladen wird) und eine weitere Ladung versucht werden. Dies wird wiederholt, bis ein gültiger Lese-Modifizier-Schreib-Zyklus durchgeführt ist. Dieser Vorgang gewährleistet, daß wenigstens ein Bit für jede Eingabeanforderung eingeschaltet wird.
7.5.2 Umkehrvideo-Puffereingabe
Die Ausgabe des XREG-Addierwerks enthält die Adresse des Bits im RV-Puffer, die umgekehrt werden muß,
um die umgekehrte Videofunktion zu speichern. Für jede RV-Eingabe wird ein Lese-Modifizier-Schreib-Zyklus am Randomspeicher RAM durchgeführt. Dies kehrt das Bit um, ob der laufende Status eine Null oder eine eins
7.5.3 PufTerausgabe
Der Inhalt des Ein- und des Aus-Speichers wird durch einen Aufwärts-Abwärts-Zähler mit einem Minimalben:ich von ±15 getaktet. Bits im Ein-Puffer, die Eins sind, setzen den Zähler herab, während Eins-Bits im Aus-Puffer den Zähler heraufsetzen. Eine Demodulationsschaltung mit negativer Zählung steuert die Ausgabe an
den Laserrecorder, wobei der Laserstrahl eingeschaltet wird, sobald die Zählung weniger als Null ist. (Sind die Bits von Ein- und Aus-Puffer bei irgendeiner Adresse identisch, dann verändert sich die Zählung nicht). Der RV-Puffer wird mit der gleichen Geschwindigkeit getaktet und kehrt die normale Ausgabe vom Null-Detektor um. Nach dem Ausgabezyklus werden alle Puffer auf Null zurückgestellt.
Das Takten wird durch das Signal »Taktablesung« von der PTU gesteuert. Auf der HWP-Karte (Platte) ist ein Kippschalter vorgesehen, damit die Bedienungsperson das Kommando Global Reverse Video, d. h. Schwarz-Weiß-Umkehr für die gesamte Seite, geben kann.
7.6 Die HWP-Straktur
Zunächst wird der festverdrahtete Prozessor HWP unter Verwendung eines vereinfachten Blockschaltbildes beschrieben. Anschließend wird die Gesamt-Zeiteinteilung gegeben, gefolgt von einer detaillierten Darlegung des logischen Konzepts.
7.6.1 Grundabschnitte
Fig. 21 zeigt die Grundabschnitte des festverdrahteten Prozessors HWP. Daten- und Steuerwörter »rrrien unter der Steuerung eines »Austauschsignals« vom 8X300 im Konturenumsetzer-Untersystem OCS in einen Puffer- und Steuerabschnitt 100 eingegeben. Eines der Steuerwörter beginnt eine Adressenrechnung, die im nächsten Abschnitt 102 durchgeführt wird, und dieselbe Steuerung beginnt eine Eingabe in diesen durch den letzten Abschnitt 104 durchgeführten Adressenplatz. Jeder Abschnitt hat seine eigene Steuer- und Ablauflogik.
Die Steuerungs- und PTU-Wechselwirkungslogik 16 erzeugt synchron mit einem Ablesetakt von der PTU das Ausgabe-Videosignal. Dieser Abschnitt verwendet ebenfalls Synchronisierungssignale von der PTiJ zur Erzeugung von Kennzeichen, die anzeigen, daß die Datenpuffer aufgefüllt sind. Die Verhältnisse dieser Kennzeichen werden benutzt, um die Dateneingabe (durch das Austauschsignal (handshake signal)) zu steuern und die 2s Datenausgabe zu unterbrechen, wenn die Menge und die Dauer der Eingangsdaten derartig ist, daß die Ausgabe nicht mehr aufrecht erhalten werden kann. Dieser Abschnitt erhält auch Bedingungssignale wie »ladebereit« und »abtastbereit«, um Ausgaben wie »Ladekommando«, »Abtastung möglich«, »Schritt möglich«, zu erzeugen.
30 7.6.2 Daten- und Steuerpuffer und -speicherung
FIg. 22 zeigt den ersten Abschnitt 100 in Blockform. Daten- und Steuerbytes kommen über drei 8-Bit-Schienen vom 8X300. Data High und Data Low werden gepuffert, um einen Satz von Verriegelungen anzutreiben. Die für die Daten verwendeten Abkürzungen werden im nächsten Abschnitt dargelegt. Die in Fig. 22 verwendete Notation zeigt den Bitbereich und das Bitgewicht für jedes übertragene Datenteil an. Das Steuerbyte wird, ausgenommen für das einzelne, Austauschbit (HS) (handshake bit HS) genannte Bit, direkt in einer 8-Bit-Verriegelung 107 gespeichert. Wird das HS-Bit auf eins gesetzt, dann wird ein Ladetaktpuls erzeugt und der Steuerbyteverriegelung zugeführt. Die Ausgabe dieser Verriegelung liefert ein Drei-Bit-Worl und einen Satz von vier einzelnen Zeilensteuersignalen. Das 3-Bit-Wort wird dekodiert und zur Erzeugung von 4 Taktimpulsen für gewählte Datenverriegelungen verwendet.
Die Steuerleitung 87 löst eine Rechnung und eine EIN/AUS-Pufferladung aus. Die Steuerleitung 88 löst eine RV-Pufferladung aus.
Die Steuerleitung 90 ermöglicht die Erzeugung eines Ladekommandos an die PTU, wenn die »Ladebereit«- Bedingung gegeben ist. Das AO-Steuersignal setzt die »Abtastbereit«- und »Abtast- und Synchr.bereitw-Ausgabebedingungen zurück. Das Steuersignal CO zeigt an, daß ein Datenpuffer beladen und zur Entladung bereit ist.
7.6.3 Berechnung der Ausgabedaten-PufTeradresse
Der zweite Abschnitt 102 errechnet die Ausgabedaten-(Rasterzeile)-Pufferadresse, die im wesentlichen durch folgende Formel gegeben ist:
Xr=Xp+ [Xn + AX + SLC] SC,
wobei
Die hier benutzte Notation ist geringfügig anders als die zuvor verwendete: go
Xr = XREG
Xp = XPOS
SC = SCALE.
Die Vorzeichen dieser Mengen und die Ergebnisse können unter der Annahme verstanden werden, daß Xn, A X, SCL und SC Zweierkomplcmentzahlen sind. Außer A X sind alle vom Konturenumsetzer-Untersystem OSC als Zweierkomplementzahlen vorgesehen. Die Menge Δ X wird in diesem Abschnitt errechnet, wo dy/dx
durch ein Paar Festwertspeicher ROM 108 und 110 erzeugt wird, wobei der zweite das Zweierkomplement, wie in Fig. 23 gezeigt, vorsieht Der K-Wert ist als eine positive Zahl vorgesehen, und wenn die Menge
μ—l-16 Kj eine negative Zahl ist, formuliert die Logik eine vollständige 16-Bit-Zweierkomplementzahl. Das Vorzeichen dieser Menge ist unter der Steuerung des L·Bits (siehe Fig. 22). Für die Xu-Berechnung gibt es andere Steuermodülkationen.
1st das Vorzeichen von Y, - Yn negativ und das Flatterbit F (F i g. 22) eins, dann muß Kgleich eins sein. Ist Y1 -Yn negativ und das Ε-Bit eins, dann wird die Xu-Berechnung abgebrochen. Das letztgenannte Ereignis wird als Teil der Steuerlogik für diesen Abschnitt beschrieben.
ίο Man beachte, daß die Menge A X und der zweite Ausdruck von XR einer Multiplikation bedürfen. Diese Multiplikation geschieht durch eine zeitlich verzahnte 16-Bit-MultipIiziereinrichtung 112.
Der Betrieb des Abschnitts 102 wird nun unter Bezugnahme auf Fig. 23 beschrieben. Die Menge (Y, - Yn) wird durch ein Addierwerk 114 auf den Bits (0,3) vorgesehen (diese Notation bedeutet Bits 0,1,1 und 3) weil Yn immer als eine negative Zweierkomplementzahl geliefert wird. Da Yn keine Bruchzahlen aufweist, wandern der Addierwerk-Ausgang und die Bits (-4, -1) von Y1 zu Drcifach-Puffern 116 und 118 und bilden den Multiplikator für die erste Multiplikation. Das Vorzeichen für die Errechnung von (Y1 - Yn) wird durch das Addierwerk bestimmt und ist für ein negatives Ergebnis Null. Man beachte, daß die Eingangsdaten nur Bits (-4,3) vorsehen, die übrigen Bits müssen durch das Vorzeichenbit vorgesehen werden. Das Vorhandensein von Bits (-6, -5) wird klar, wenn die Multipliziereinrichtung beschrieben wird.
Die Eingaben dy, dx geben 8-Bit-Adressen für das 256-Wort durch 8-Bit-ROMs 108 und 110, die die Verhältnisse dx/dy und dx/dy erzeugen (der Doppeisirich bedeutet Zweierkomplement). Die Festwertspeicher ROM haben Dreifach-Ausgänge, die zusammen verdrahtet werden und durch das L-Bit ausgewählt werden. J5 Die Schaltungen nach den zwei Festwertspeichern ROM 108 und 110 erzeugen die Menge (-Jp + 16 κ) in Form des Zweierkomplements. Die K-Variable geht zu einem Multiplexer 120, der unter der Steuerung des Flatterbits F und dem Vorzeichen von (X - Yn), S A Y steht. Die andere Eingabe des Multiplexers ist die Xonstante eins, die gewählt wird, wenn (X - Yn) negativ und F eins ist. Für eine nicht-negative Bedingung (L = 0), wird der
,„ -^- - Festwertspeicher ROM 108gewählt und der K-Wert wird dem Wert Null addiert und bildet die Gewichts-
Positionen (4, T) der Menge. Diese Menge geht zu einem Dreifachpufler 122 und ist der Multiplikator für die erste Multiplikation. =====
Ist das L-Bit negativ, so wird dt/dy/dx-Festwertspeicher ROM 110 gewählt. Die Ausgabe des Multiplexers 120 geht an eine Exklusives ODER-Schaltung 124. Für L = 0 kehrt ihre Eingabe in die Exklusives-ODER-Schal-
tung den K-Wert um. Ist dy/dV ni& ι Null, dann wird die EX-ODER-Ausgabedurch ein vollständiges Addierwerk 126, das die Zweierkomplementzahl bildet, dem Nullwert addiert. Ist dy/dx gleich Null, dann muß der K-Wert ein Zweierkomplement sein (nicht nur umgekehrt). Die Null-Bedingung wird durch einen Inverter 128 und eine 8-Eingaben-WEDER-NOCH-Schaltung 130 demoduliert und erzeugt einen Übertrag für das Addierwerk 126 zur Erzeugung des Zweierkomplements von K.
Die Multipliziereinrichtung 112 besteht aus zwei 8-Bit-Multiplizierchips und drei 8-Bii-Serieii-Schieberegister-Chips, die ein Schieberegister 132 bilden. Für jeden Schiebetakt wird ein Produkt aus 1 Bit mal 16 Bit gebildet. Zweiunddreißig Verschiebungen erzeugen ein 32-Bit-Produkt (das im Schieberegister untergebracht ist); da das vollständige Produkt jedoch nicht erforderlich ist, werden nur 24 Bits zurückgehalten. Da die Operationen so durchgeführt werden, daß das niedrigstwertige Bit zuerst behandelt wird, sind die untersten 8-Bit-Positionen verloren. Der Multiplikand (\ - Y1) und der Multiplikator (^+ 16K^ sind so eingegeben, daß der Binärpunkt
\dy /
zwischen den Gewichtspositionen 5 und 6 der Multipliziereinrichtung des Schieberegisters liegt. Das erste Produkt behält dann die Gewichte (-4, 11) und wird in den zwei niederwertigeren Schieberegisterchips untergebracht. Die Positionen (12, 19) werden nicht verwendet. Das erste Produkt wird durch ein Addierwerk 134 geUNDet, und das Ergebnis wird durch ein Addierwerk 136 dem SLC zugeführt. Dieses Ergebnis wandert zu einem Dreifach-Pufler 138zur Schaffung des Multiplikanden für das zweite Produkt. Man beachte, daß die Dreifach-Puffer und die Dreifach-Festwertspeicher ROM Ausgangssteuerungen haben, die durch die entsprechende Polarität eines M-Signals geliefert werden.
Das zweite Produkt ergibt: 55
Pl = (Xn + AX + SLC) (SC) Die Skalenkonstante SC kommt von einer Dreifach-Verriegelung in den Speicherabschnitt 100 (Fig. 22), der
einen Ausgang aufweist, der durch das Umkehrvideo-Steuersignal 88 gesteuert wird, und einen Puls SP, der in der Aufladezeit der Multipliziereinrichtung auftritt. Ist das Umkehrvideo-Steuersignal 88 vorhanden, dann wird die SC-Verriegelung im Zustand einer offenen Schaltung gehalten, und das Produkt P des Schieberegisters wird auf Null gedruckt.
Für das zweite Produkt ist der Binärpunkt für den Multiplikand zwischen den Gewichtspositionen 3 und 4, und der Multiplikator-Binärpunkt liegt zwischen den Gewichtspositionen 11 und 12. Die Produktgewichte sind (-8, 15), jedoch werden nur die Ganzzahlwerte benötigt, die in den oberen zwei (MSB) Stellungen des Schieberegisters untergebracht sind.
Das Produkt Pl wird durch ein vollständiges Addierwerk 140 zu Xp addiert, so daß XR, die Datenregisteradresse, gebildet wird. Man beachte, daß bei vorhandener RV-Steuerung 88 Pl Null ist und XP die Daten-
registeradresse wird.
7.6.4 Ausgabedatenpuffer und Videologik
F i g. 24 stellt ein Blockschaltbild des dritten Abschnitts 104 dar. Die Registeradresse wandert zu einem Multiplexer 142, der durch das höchstwertige Bit von X, das Vorzeichenbit, gesteuert wird. Die Registeradresse, wie berechnet, ist üblicherweise eine positive Zahl, deren MSB das Gewicht 12 hat, was 8192 Positionen ergibt, was mehr als die Anzahl von Elementen auf einer Abtastzeile darstellt. Führt die Adressenberechnung zu einer negativen Zahl, was zu Beginn der Abtastung geschehen kann, dann wird das Vorzeichenbit von Xr(Sxr) verwendet, den Multiplexer zu schalten und eine eins in die Adresse 32 einzugeben. Ist das Vorzeichenbit nicht eins, dagegen Bits 13 und 14 eins, so wird die Eingabeoperation abgebrochen.
Die Ausgabe des Multiplexer 142 wird parallel in einen Aufwärts-Abwärts-Zähler eingegeben. Die Zählerausgabe wandert zu den Multiplexern 146 und 148, welche auswählen, welche der zwei Ausgabedatenpuffer für die Ladung verwendet werden. Die andere Pufferadresse wird für die Entladung gewählt, sie kommt von einem Zähler 150, der von einem Ausgabetakter in der Lichtsetzeinheit PTU betrieben wird.
Der Adressenmultiplexer 146 oder 148 wird durch das Pufferwarnsignal (BUSE) gewählt. Ist dieses Signal klein, dann wird Puffer Eins für Beladung und Puffer Zwei für Entladung gewählt Betrachtet man zunächst den Beladusgsvorgang, so lauten die Steuerungen zu den Speicherchips »Chip Frei« (CE) und »Schreibbereit« WE. Das Signal CE wird durch eine (nicht gezeigte) Steuerlogik gesteuert, die ein bestimmtes Chip im EIN-, AUS- oder RV-Puffer unter der Steuerung des Grenzbits (B) zur Auswahl von EIN oder AUS, und des Umkehrvideo-Steuersignals 88 zur Auswahl des RV-Puffers wählt. Steht am gewählten EIN- oder AUS-Puffer- i ?atz eine Null, so tritt das WE-Signal auf und schreibt Eins in diesen Platz. Findet man eine Eins auf dem EIN-Piffer-Platz, dann wird das WE-Signal verzögert, bis die Adresse durch einen Takt auf den Aufwärts-Abwärts-Eingabeadressen-Zähler 152 heraufgesetzt wird. Man beachte, daß die Richtung der Zählung durch das B-Bit gesteuert wird.
Ist eine Eins im AUS-Puffer, dann wird die Adresse vermindert. W;rd der RV-Puffer gewählt und eine Eins vorgefunden, so wird eine Null geschrieben und umgekehrt. Die Eingabe für den RV-Puffer geschieht über eine Verriegelung 154 und einen Multiplexer 156.
Für die Entladungssequenz werden alle drei Puffer durch die Signale CE und WE freigegeben. Für den EIN- und den AUS-Puffer wird über das BUSE-Signalniveau Null eingegeben, und für die RV-Puffereingabe wird durch den Multiplexer 156 ein Grundniveau gewählt. Das Ausgabeniveau eines jeden Puffers wird in der Verriegelung 154 gespeichert. EXCLUSIVE-ODER-Schaltungen 158 stellen fest, ob die Bits im EIN- und AUS-Puffer unterschiedlich sind, und wenn dies der Fall ist, wird der Ausgabe-Aufwärts-Abwärts-Zähler 152 durch einen Multiplexer 160, der die Bedingung aus dem entsprechenden Puffer wählt, freigegeben. Ist im AUS-Puffer eine Eins vorhanden, so wandert sie zur Aufwärts-Abwärts-Steuerung des Zählers 152 und verursacht eine Aufwärts-Zählung. Befindet sich eine Eins im RV-Puffer, dann verursacht das, daß ein JK-Flip-Flop 162 den Zustand ändert, und die Flip-Flop-Ausgabe wird mit dem MSB des Aufwärts-Abwärts-Zählers als EXCLUSIVE-ODER-Schaltung behandelt. Die Ausgabe dieser EXCLUSIVE-ODER-Schaltung 164 wandert zu einem D-Flip-Flop 166, das durch einen Lesetaktimpuls von der Lichtsetzeinheit PTU getaktet wird. Die Ausgabe des D-Flip-Flops 166 wird m'.t einem »Global-RV«-Signal als EXCLUSIVE-ODER-Schaltung behandelt, und diese Ausgabe wird gepuffert, so daß das Video-Ausgabesignal den Laserstrahl ein- und ausschaltet.
8. Rechnerprogramm
8.1 Allgemeines
Der allgemeine Aufbau, die detaillierte Struktur, wie auch der Betrieb des Ausgabedatenverarbeitungssystems (OCS) sind beschrieben worden. Es wird angenommen, daß ein durchschnittlicher Programmierer die erforderlichen Programme für die Mikroprozessoren Z80A und 8X300 schreiben kann.
Das Wesen der Erfindung besteht also darin, daß ein digitales Setzgerät zu;n Abbilden von Schriftzeichen eines vorgegebenen Schriftzeichensatzes (Alphabets) in grafischer Qualität ein elektronisches Datenverarbeitungssystem umfaßt, das erste digitale Daten empfängt, die Identität, Form, Größe und Lage des zu setzenden Schriftzeichens definieren, das zweite digitale Daten empfängt, die die Kontur eines jeden zu setzenden Schriftzeichens hinsichtlich eines normalisierten Kodiersatzes erster und zweiter Koordinaten definieren, uid dritte digitale Daten erzeugt, die die eine Raster-(Abtast-)linie schneidenden Schriftzeichenumgrenzungen definieren. Diese dritten digitalen Daten werden für mindestens einen Teil der Rasterlinien, die sich über die Breite mehrerer Schriftzeichen erstrecken, vorübergehend in einem Rasterlinien-Speicherpuffer gespeichert. Ein mit dem Linienspeicherpuffer verbundenes Schriftzeichen-Abbildungsgerät ist z^.r Abbildung aufeinanderfolgender Rasterlinien auf einem Druckmedium vorgesehen. Zur Bewegung des Druckmediums in einer Richtung quer zur Raster-(Abtast)linie sind ferner Antriebsmittel vorgesehen.
Hierzu 23 Blatt Zeichnungen

Claims (1)

  1. Patentansprüche:
    1. Gerät zur Erzeugung von Schriftzeichen, mit Eingabemitteln zur Bereitstellung erster digitaler Daten, die zumindest Identität und Lage der Schriftzeichen definieren, und mit Schriftzeichensatz (Alpbabet)-
    s Speichermitteln zur Speicherung und Erzeugung zweiter schriftzeichenspezifischer Daten, dadurch gekennzeichnet, daß die Eingabemittel (30) zur Bereitstellung erster digitaler Daten, die auch die Größe der Schriftzeichen definieren, ausgebildet sind, daß die Schriftzeichensatz-Speichermittel (32) zur Speicherung und Erzeugung zweiter digitaler Daten, die die Kontur jedes Schriftzeichens hinsichtlich eines normalisierten Kodiersatzes erster und zweiter Koordinaten definieren, ausgebildet sind, und daß mit den Eingabe-10 mitteln (30) und den Schriftzeichensatz-Speichermitteln (32) Datenverarbeitungsmittel (34) zum Empiang der Daten von den Eingabemitteln (30) und den Schriftzeichensatz-Speichermitteln (32) zur Bestimmung der Lage der Schnittstellen der Umrißlinie der Schriftzeichen rrlit einer Rasterlinie verbunden sind.
    2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß mit den Datenverarbeitungsmitteln (32) ausgangsseitig Rasterlinien-Speichermittel (EIN-Puffer, AUS-Puffer in F i g. 20 B) mit einer Vielzahl von Spei-
    H 15 cherplätzen zur Speicherung dritter digitaler Daten, welche die Schnittstellen der Umrißlinien von mehreren
    P Schriftzeichen mit jeweils einer Rasterlinie nach Maßgabe der Größe der Schriftzeichen angeben, fur min-
    H destens einen Teil der sich entlang der Breite mindestens eines Schriftzeichens ausdehnenden Rasterlinien
    If vorgesehen sind, wobei jedes der Speicherelemente einem korrespondierenden Rasterpunkt entlang der
    Il Rasterlinie entspricht.
    5 20 3. Gerät nach Anspruch 2, dadurch gekennzeichnet, daß die Raster-Linienspcichermittel (im Prozessor 92 g in Fig. 3)« jndestens zwei Linienspeicher (AUS-Puffer, EIN-Puffer in Fig. 20 B) enthalten, von denen jeder SI aus einer Vieizah! von Speicherelementen gebildet ist, daß jedes der Speicherelemente einem korrespondiefi renden einzigen Rasterpunkt entlang der Rasterlinie entspricht, daß die Speicherelemente in einem ersten P der Linienspeicher (EIN-Puffer) die Lagen auf der Abtastlinie darstellen, bei denen der Abtaststrahl eingeil 25 schaltet wird, und daß die Inhalte der Speicherelemente im zweiten Linienspeicher (AUS-Puffer) die Lagen ^ auf der Abtastlinie darstellen, bei denen der Abtaststrahl abgeschaltet ist.
    fe 4. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß der Linienspeicher weiterhin einen dritten
    § Linienspeicher (Umkehrvideopuffer in F i g. 20 B) mit einer Vielzahl von Speicherelementen umfaßt, deren
    §f Zustand die Lagen auf der Abtastlinie darstellt, bei denen der Ein- und Ausschaltzustand des Strahles umge-
    I* 30 kehrt wird.
    5. Gerät nach Anspruch 4, dadurch gekennzeichnet, daß der normalisierte Kodiersatz die Konturen der Schriftzeichen definiert, daß die zweiten Koordinatenabstände in Datenauflösungseinheiten definiert sind, daß das Datenverarbeitungssystem (Mikroprozessor 92 in Fig. 3) den Rasterschnitt in der ersten Koordinatenrichtung entsprechend jeöer folgenden Rasterlinie in der zweiten Koordinatenrichtung zur Skalierung
    35 (Maßstabsänderung) der Schriftzeichen auf eine vorbestimmte Größe aus dem normalisierten (normierten) Kodiersatz auf folgenden Raste;linien definiert, daß dabei jede Datenauflösungseinheit des normalisierten Kodiersatzes mit jeder Rasterlinie durch die folgende Beziehung verbunden ist:
    Ys = (Ysl-Yhi) K/Punktgröße; •»o
    wobei Yhi ein Nulldatenniveau in Rastercinheiten, YsI das Rasterlinienniveau, K eine mit der SchriftzeichengföBe in Punkieinhciien zusammenhängende Konstante und Ys das entsprechende Niveau der Daienauflösungseinheit ist.
    6. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß das Nulldatenniveau in Rastereinheiten dem obe-45 ren Rand des normalisierten Gevierts eines kodierten Schriftzeichens entspricht.
    7. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß das Nulldatenniveau in Rastereinheiten einem Ausgangspunkt für jedes kodierte Schriftzeichen entspricht, und daß die kodierten Daten digitale Zahlen
    «gjj beinhalten, die die erste und die zweite Koordinate des Ausgangspunkts der Zeichenkontur definieren, sowie
    fi digitale Zahlen, die eine Vielzahl geradliniger aufeinanderfolgend entlang der Zeichenkontur vom Aus-
    i 50 gangspunkt sich erstreckender Zeilenvektoren definieren, daß jeder Vektor eine Digitalzahl aufweist, die den
    P ersten Koordinatenabstand darstellt, und eine zweite Digitalzahl, die den zweiten Koordinatenabstand von
    te einem Vektorenende zum anderen darstellt.
    I; 8. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß der Schnitt (Schnittstelle) in der ersten Koordina-
    6 tenrichtung durch den Ausdruck
    ; XREG = XPOS + [± XN ± (Ys - YN (dx/dy)] (k)]
    gegeben, ist, wobei XREG der Schnitt in der ersten Koordinatenrichtung in Rasterauflösungseinheiten, N) XPOS der Abstand in der ersten Koordinatenrichtung von einem Nulldatenniveau in Rasterauflösungsein-
    ; heilen, XN und YN die Ausgangslagen eines Vektors VN, dessen Neigung dy/dx beträgt, in Datenauflösungseinheiten ist und K der Skalenfaktor (Maßstabsfakior) ist.
    9. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß die Speicherelemente der Linienspeicher (ElN-PufTer, AUS-Puffer in Fig. 20 B) zur Speicherung einer einzelnen, einem Rasteipunkt auf der Rasterlinie
    65 entsprechenden Binärzahl eingerichtet sind.
    10. Gerät nach Anspruch 9, dadurch gekennzeichnet, daß ein erster Linienpuffer (AUS-Puffer) der beiden Linienpuffer (AUS-Puffer, EIN-Puffer in F i g. 20 B) zur Speicherung von Binärzahlen eingerichtet ist, die die Lagen auf der Abtastlinie bestimmen, bei denen der Abtaststrahl abgeschaltet wird.
    11. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß die Linienspeichermittel (in Prozessor 92 in Fig. 3) einen dritten Linienpuffer (Umkehrvideopuffer in Fig. 20 B) enthalten, der zur Aufnahme von Binärzahlen eingerichtet ist, die die Lagen auf der Abtastlinie darstellen, bei denen der Ein- und Ausschaltzustand des Strahls umgekehrt wird.
    12. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Eingangsmittel (30) zum Erzeugen von ersten digitalen Daten ausgebildet sind, die Seitenvariierkommandos für die zu setzenden Schriftzeichen enthalten.
    13. Gerät nach Anspruch 9, dadurch gekennzeichnet, daß die Schriftzeichensatz-Speichermittel (32) zur Speicherung und Erzeugung vom zweiten digitalen Daten mit folgenden Informationen eingerichtet sind:
    (1) die erste und zweite Koordinate des Ausgangspunkts einer Zeichenkontur definierende digitale Zahlen und
    (2) eine Vielzahl geradliniger entlang einer Zeichenkontur vom Ausgangspunkt sich erstreckender gerader Linienvektoren, die sich aufeinanderfolgend entlang eines Buchstabenumrisses erstrecken, wobei jeder Vektor eine den ersten Koordinatenabstand darstellende Digitalzahl und eine den zweiten Koordinatenabstand - beide Abstände von einem Ende des Vektors zum anderen Ende definiert - darstellende zweite Digitalzahl umfaßt.
    14. Gerät nach Anspruch 13, dadurch gekennzeichnet, daß die erste und die zweite Koordinate eines Ausgangspunkts definierenden Digitalzahlen vor den die die vom Ausgangspunkt sich erstreckenden Vektoren definierenden Digitalzahlen stehen.
    15. Gerät nach Ansprach 1 und 2, dadurch gekennzeichnet, daß die Datenverarbeitunssmiue! (34 in Fig. 1) umfassen:
    (1) einen Speicher (84, 86) mit willkürlichem Zugriff (random access) zur Speicherung vierter digitaler Daten, welche Linienabschnitte der Schriftzeichen entlang den Rasterlinien beinhalten,
    (2) Datenverwaltungsmittel, die einen ersten Mikroprozessor (78) zum Empfang und zur Speicherung der ersten und zweiten digitalen Daten und Erzeugung und Speicherung der vierten digitalen Daten in dem Speicher (84, 86) mit willkürlichem Zugriff umfassen, und
    (3) Konturenumsetzermittel, die einer, zweiten Mikroprozessor (92) zum Empfang der vierten digitalen Daten aus dem Speicher (84,86) mit willkürlichem Zugriff und zur Erreichung der die eine Rasterlinie schneidenden Schriftzeichenumgrenzungen definierenden dritten digitalen Daten enthalten (Fig. 3).
    16. Gerät nach Anspruch 15, dadurch gekennzeichnet, daß die Konturenumsetzmittel (Mikroprozessor 92
    in Fig. 3; Fig. 20 A, B) zur Errechnung der dritten digitalen Daten nach folgender Beziehung eingerichtet « sind:
    Xn = Xp + X^ + 4X
    wobei
    XR = der X-Äbsiand von einem Rand der zu setzenden jeiie zu dem Funkt auf der Zeichenkontur ist, wo
    diese durch die laufende Rastcrlinie geschnitten ist,
    Xp = der X-Abstand von dem einen Rand der Seite zum linken Rand des der bestimmten Zeichenkontur zugeordneten Schriftzeichens ist,
    Xn = die X-Lage des Ausgangspunkts der bestimmten Zeichenkontur hinsichtlich des linken Rands des
    zugehörigen Schriftzeidiens ist und
    Δ X = der X-Abstand des Ausgangspunkts der Kontur zum Schnittpunkt der bestimmten Zeichenkontur mit der durch sie laufenden Rasterlinie ist.
    17. Gerät nach Anspruch 16, dadurch gekennzeichnet, daß die durch die Rasterlinien geschnittenen Schriftzeichen skalierbar (in der Größe veränderbar sind und daß die Konturenumsetzermittel (Mikroprozessor 92 in F i g. 3; F i g. 20 A, B) zur Errechnung der dritten digitalen Daten nach folgender Formel eingerichtet sind:
    55 XR = Xp + [Xn + Δ X] SC
    wobei SC ein auf einer gewünschten Setzbreite basierender Maßstabofaktor ist.
    18. Gerät nach Anspruch 16, dadurch gekennzeichnet, daß die durch die Rasterlinien geschnittenen Schriftzeichen schräg stellbar sind und daß die KonturenumsetzermiUel (Mikroprozessor 92 in Fig. 3; m> Fig. 20 A, B) zur Errechnung der dritten digitalen Daten nach folgender Formel ausgebildet sind:
    XR = Xp + Xn + Δ X + SLC
    wobei SLC die Änderung der X-Richtung in der X-Lage des Schnittpunkts der bestimmten Zeichenkontur ist, die dutch die Schrägstellung der Schriftzeichen verursacht wird.
    19. Gerät nach Anspruch 18, dadurch gekennzeichnet, daß Mittel (Mikroprozessor 92 im Konturenumsetzersystem in Fig. 3) zur Bildung der Beziehung
    SLC = (A-Y5)(IgB)
    vorgesehen sind, wobei s
    A = die Y-Lage der zentralen neutralen Achse, um die die Schrägstellung erzielt wird, Ys = die Y-Lage der laufenden Rasterlinie hinsichtlich eines Rands des entsprechenden Schriftzeichen-Gevierts, und B = der Schrägstellungswinkel ist.
DE2940897A 1978-10-10 1979-10-09 Digitales Setzgerät Expired DE2940897C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/950,242 US4231096A (en) 1978-10-10 1978-10-10 Digital typesetter

Publications (2)

Publication Number Publication Date
DE2940897A1 DE2940897A1 (de) 1980-04-24
DE2940897C2 true DE2940897C2 (de) 1985-01-03

Family

ID=25490153

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2940897A Expired DE2940897C2 (de) 1978-10-10 1979-10-09 Digitales Setzgerät

Country Status (8)

Country Link
US (1) US4231096A (de)
JP (1) JPS55105290A (de)
CA (1) CA1135867A (de)
DE (1) DE2940897C2 (de)
FR (1) FR2438543B1 (de)
GB (1) GB2033307B (de)
IT (1) IT1164725B (de)
SE (1) SE444090B (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4338673A (en) * 1978-12-05 1982-07-06 Compugraphic Corporation Phototypesetting system and method
US4333153A (en) * 1979-11-26 1982-06-01 Eltra Corporation Scanning and control system for electro optical printer
US4345245A (en) * 1979-11-26 1982-08-17 Eltra Corporation Method and apparatus for arranging segmented character groups in a digital typesetter
GB2074259B (en) * 1980-04-12 1983-08-17 Automotive Prod Co Ltd Rotation sensitive drum brake
US4331955A (en) * 1980-08-07 1982-05-25 Eltra Corporation Method and apparatus for smoothing outlines
US4481602A (en) * 1981-04-06 1984-11-06 International Business Machines Corporation Font compression and decompression for character generation
US4495490A (en) * 1981-05-29 1985-01-22 Ibm Corporation Word processor and display
US4520455A (en) * 1982-05-10 1985-05-28 Xerox Corporation Printing system
US4555763A (en) * 1982-07-01 1985-11-26 Decision Data Computer Corp. Method and apparatus for storage and accessing of characters, and electronic printer employing same
US4593278A (en) * 1982-09-28 1986-06-03 Burroughs Corp. Real time graphic processor
US4591846A (en) * 1982-09-28 1986-05-27 Burroughs Corp. Real time cell specification processor
JPS59101969A (ja) * 1982-12-01 1984-06-12 Dainippon Screen Mfg Co Ltd 2値画像パタ−ンのデ−タ処理方法及び装置
DE3317842A1 (de) * 1983-05-17 1984-12-06 Mergenthaler Linotype Gmbh, 6236 Eschborn Graphisches reproduktions- und seztverfahren von schriftzeichen
US4679153A (en) * 1985-04-26 1987-07-07 R. R. Donnelley & Sons Company Printing systems for typesetter emulation
US5170467A (en) * 1985-07-29 1992-12-08 Dai Nippon Insatsu Kabushiki Kaisha Method of printing leaflets, catalogs or the like
GB2196769A (en) * 1986-10-29 1988-05-05 China Computer Corp Method and apparatus for high resolution character generation
US4839829A (en) * 1986-11-05 1989-06-13 Freedman Henry B Automated printing control system
JPH0820862B2 (ja) * 1987-02-27 1996-03-04 キヤノン株式会社 文字処理装置
US5574842A (en) * 1988-07-29 1996-11-12 Canon Kabushiki Kaisha Document processing apparatus and method for generating a character or symbol pattern across a plurality of lines
US5045869A (en) * 1988-09-16 1991-09-03 Canon Kabushiki Kaisha Printing controller for printing at selected resolutions
US5274365A (en) * 1988-10-26 1993-12-28 Sun Microsystems, Inc. Method and apparatus for minimizing the visual degradation of digital typefaces-character analysis
AU629210B2 (en) * 1988-10-26 1992-10-01 Sun Microsystems, Inc. Method and apparatus for minimizing the visual degradation of digital typefaces
JP2899003B2 (ja) * 1988-12-19 1999-06-02 キヤノン株式会社 文字処理装置及び方法
EP0768954B1 (de) * 1995-05-04 1999-08-04 Heidelberger Druckmaschinen Aktiengesellschaft Verfahren und vorrichtung zur belichtung
US6347256B1 (en) 1998-11-02 2002-02-12 Printcafe System, Inc. Manufacturing process modeling techniques
US6321133B1 (en) 1998-12-04 2001-11-20 Impresse Corporation Method and apparatus for order promising
US6279009B1 (en) 1998-12-04 2001-08-21 Impresse Corporation Dynamic creation of workflows from deterministic models of real world processes
US6546364B1 (en) 1998-12-18 2003-04-08 Impresse Corporation Method and apparatus for creating adaptive workflows
US6278901B1 (en) 1998-12-18 2001-08-21 Impresse Corporation Methods for creating aggregate plans useful in manufacturing environments
US7587336B1 (en) 1999-06-09 2009-09-08 Electronics For Imaging, Inc. Iterative constraint collection scheme for preparation of custom manufacturing contracts

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3226706A (en) * 1965-12-28 Cathode ray tube display and printer controlled by coded mask
US2736770A (en) * 1952-06-25 1956-02-28 Gen Dynamics Corp Printer
US3132206A (en) * 1960-05-06 1964-05-05 Xerox Corp High speed printing apparatus
US3422420A (en) * 1966-03-23 1969-01-14 Rca Corp Display systems
US3389403A (en) * 1966-09-06 1968-06-18 Dresser Ind Laser beam recorder with means to compensate for change in angular velocity of swept beam
US3588870A (en) * 1966-11-03 1971-06-28 Harris Intertype Corp Apparatus for providing graphical images on cathode-ray tubes
US3893079A (en) * 1967-03-20 1975-07-01 Cognitronics Corp Character reading apparatus with improved document scanner
US3448458A (en) * 1967-06-16 1969-06-03 Ncr Co Laser recorder with scanning and display systems
US3593305A (en) * 1968-08-19 1971-07-13 Harris Intertype Corp System and method for making up a newspaper page
US3582905A (en) * 1969-01-13 1971-06-01 Ibm Character generation by improved scan, storage, and decoding apparatus
US3546681A (en) * 1969-01-30 1970-12-08 Rca Corp Programmed method for manipulating electronic fonts in electronic photocomposition systems
US3573849A (en) * 1969-02-04 1971-04-06 Bell Telephone Labor Inc Pattern generating apparatus
US3573847A (en) * 1969-08-22 1971-04-06 Olivetti General Electric Spa Character recorder
US3701999A (en) * 1970-08-21 1972-10-31 Ncr Co Computer output laser microform recording system
US3740743A (en) * 1971-03-29 1973-06-19 Columbia Broadcasting Sys Inc Character generating apparatus for television titling
US3739088A (en) * 1971-05-20 1973-06-12 Perkin Elmer Corp Printing plate production method and apparatus
US3836709A (en) * 1972-04-12 1974-09-17 Grace W R & Co Process and apparatus for preparing printing plates using a photocured image
DE2306185A1 (de) * 1973-02-08 1974-08-15 Agfa Gevaert Ag Verfahren und vorrichtung zur kompensation des pyramidenfehlers eines spiegelrades
US3820123A (en) * 1973-04-04 1974-06-25 Quantor Corp Laser microfilm recorder
GB1442544A (en) * 1973-05-11 1976-07-14 Rockwell International Corp Apparatus for use in character generation
US4029947A (en) * 1973-05-11 1977-06-14 Rockwell International Corporation Character generating method and system
US3946150A (en) * 1973-12-20 1976-03-23 Xerox Corporation Optical scanner
US3851951A (en) * 1974-01-16 1974-12-03 Isomet Corp High resolution laser beam recorder with self-focusing acousto-optic scanner
US3898627A (en) * 1974-03-22 1975-08-05 Ibm Optical printer having serializing buffer for use with variable length binary words
US3945318A (en) * 1974-04-08 1976-03-23 Logetronics, Inc. Printing plate blank and image sheet by laser transfer
US3984171A (en) * 1974-08-21 1976-10-05 Image Information Inc. Linear scan system
US4031519A (en) * 1974-11-11 1977-06-21 Ibm Corporation Printer
DE2460147C2 (de) * 1974-12-19 1983-05-05 Ibm Deutschland Gmbh, 7000 Stuttgart Anordnung zur Dekomprimierung komprimierter Information für aus schwarzen und weißen Bereichen zusammengesetze darzustellende Zeichen
US4044363A (en) * 1974-12-23 1977-08-23 Dymo Industries, Inc. Laser photocomposition system and method
US3970359A (en) * 1975-02-03 1976-07-20 Xerox Corporation Flying spot flat field scanner
US4090187A (en) * 1976-05-10 1978-05-16 Thomson-Csf Laboratories, Inc. Television titling system for producing overlapping characters
US4071909A (en) * 1976-09-30 1978-01-31 Xerox Corporation Digital interface system for a printer

Also Published As

Publication number Publication date
GB2033307A (en) 1980-05-21
CA1135867A (en) 1982-11-16
SE444090B (sv) 1986-03-17
FR2438543A1 (fr) 1980-05-09
DE2940897A1 (de) 1980-04-24
US4231096A (en) 1980-10-28
GB2033307B (en) 1983-03-23
FR2438543B1 (fr) 1987-04-17
JPS55105290A (en) 1980-08-12
IT7950507A0 (it) 1979-10-09
SE7908363L (sv) 1980-04-11
IT1164725B (it) 1987-04-15

Similar Documents

Publication Publication Date Title
DE2940897C2 (de) Digitales Setzgerät
DE3044092C2 (de)
DE1961173C3 (de) Steuereinrichtung zum Festlegen bzw. Verändern der Textaufteilung einer Textdatenfolge mit Hilfe eines Bildanzeigegerätes
DE2760260C2 (de) Vorrichtung zum Anzeigen eines gerasterten Bildes
DE2919013C2 (de)
DE3121503C2 (de) Dokumenten-Verarbeitungssystem
DE2536616C3 (de) Schaltungsanordnung zur Verbindung einer eine Eingabetastatur und eine Anzeigeeinrichtung enthaltenden Engabe/Ausgabe-Einrichtung über eine Busleitung mit einem zu einem Mikrorechner gehörenden Mikroprozessor
DE2447464C3 (de) Zeichengenerator-Steuerschaltung für einen optischen Drucker
EP0096079B1 (de) Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen
DE2459106C2 (de) Schaltungsanordnung zur Darstellung von Zeichen auf einem Bildschirm mittels eines Kathodenstrahls
EP0153584B1 (de) Verfahren und Einrichtung zum Aufzeichnen von Schriftzeichen
DE2550268B2 (de) Schnelldrucker für Datenverarbeitungssysteme
DE2724108A1 (de) System zur optischen wiedergabe von symbolen, zeichen und darstellungen, insbesondere fuer layout von anzeigen in zeitungen u.dgl.
DE2724075A1 (de) System zur optischen wiedergabe von symbolen, zeichen und darstellungen, insbesondere fuer den layout von anzeigen in zeitungen u.dgl.
DE2549792B2 (de) Strahlendrucker zum Drucken mit proportionalem Zeichenabstand
DE2106759A1 (de) Verfahren und Gerat fur den Satz von Publikationen
EP0764310A1 (de) Verfahren zur generierung einer contone-map
DE3932024C2 (de) Datenverarbeitungsanlage zur Umwandlung einer Gruppe von Umrißdaten
EP0132456A1 (de) Verfahren und Vorrichtung zur Prüfung der Satzqualität von Druckerzeugnissen, insbesondere Zeitungen
DE2548145A1 (de) Drucker mit pufferspeicher
DE2149185A1 (de) Vorrichtung fuer graphische Abbildungswiedergaben
DE3935558C2 (de) Datenkonvertierungsvorrichtung
DE2003849A1 (de) Verfahren zum Aufbereiten von elektronischen Typensaetzen in einer Setzanlage
EP0099321B1 (de) Anordnung zur Wiedergabe von graphischen Informationen
DE3634025A1 (de) Bildverarbeitungssystem

Legal Events

Date Code Title Description
OD Request for examination
8127 New person/name/address of the applicant

Owner name: ALLIED CORP., MORRIS TOWNSHIP, N.J., US

8128 New person/name/address of the agent

Representative=s name: SCHMIED-KOWARZIK, V., DR., 8000 MUENCHEN DANNENBER

D2 Grant after examination
8363 Opposition against the patent
8327 Change in the person/name/address of the patent owner

Owner name: LINOTYPE CO., HAUPPAUGE, N.Y., US

8328 Change in the person/name/address of the agent

Free format text: DANNENBERG, G., DIPL.-ING., 6000 FRANKFURT WEINHOLD, P., DIPL.-CHEM. DR., 8000 MUENCHEN GUDEL, D., DR.PHIL. SCHUBERT, S., DIPL.-ING., 6000 FRANKFURT BARZ, P., DIPL.-CHEM. DR.RER.NAT., PAT.-ANWAELTE, 8000 MUENCHEN

8331 Complete revocation