DE2919013C2 - - Google Patents

Info

Publication number
DE2919013C2
DE2919013C2 DE2919013A DE2919013A DE2919013C2 DE 2919013 C2 DE2919013 C2 DE 2919013C2 DE 2919013 A DE2919013 A DE 2919013A DE 2919013 A DE2919013 A DE 2919013A DE 2919013 C2 DE2919013 C2 DE 2919013C2
Authority
DE
Germany
Prior art keywords
vector
character
stored
data
digital data
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
DE2919013A
Other languages
English (en)
Other versions
DE2919013A1 (de
Inventor
Derek J. Hyrons Lane Buckinghamshire Gb Kyte
Walter I. Cold Spring Harbor N.Y. Us Hansen
Roderick I. Windyridge Gardens Cheltenham Gb Craig
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.)
Allied Corp
Original Assignee
Linotype Co Ltd
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 Linotype Co Ltd filed Critical Linotype Co Ltd
Publication of DE2919013A1 publication Critical patent/DE2919013A1/de
Application granted granted Critical
Publication of DE2919013C2 publication Critical patent/DE2919013C2/de
Granted legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B19/00Photoelectronic composing machines
    • B41B19/01Photoelectronic composing machines having electron-beam tubes producing an image of at least one character which is photographed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B27/00Control, indicating, or safety devices or systems for composing machines of various kinds or types

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Digital Computer Display Output (AREA)
  • Laser Beam Printer (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Kodieren und Speichern von Schriftzeichen nach dem Oberbegriff des Anspruchs 1.
Es sollen alphanumerische Zeichen oder andere Symbole digital kodiert gespeichert werden, um durch ein Setzgerät mit einer Kathodenstrahlröhre oder einen Laserstrahl- Abtaster oder einer sonstigen Schriftzeichenabbildungs­ einrichtung reproduziert werden zu können.
Ein bekanntes Verfahren zum Kodieren und Speichern von Schriftzeichen der eingangs genannten Gattung für den Lichtsatz geht von einem Normalraster (Kodierquadrat mit X-Y-Koordinaten und vorgegebenen Y-Koordinatenwerten) aus. Es wird eine Vielzahl von festen Werten von Parameter­ änderungen für mindestens einen Parameter, nämlich eine Steigung oder eine Krümmung, für Richtungsänderungen einer Linie innerhalb des Normalrasters ausgewählt, wobei die festen Werte Y-Koordinateninkremente auf aufeinanderfolgende X-Koordinatenstellen beziehen (DE-AS 24 22 464). Die Außen­ linien eines Schriftzeichens werden bezogen auf das Normal­ raster durch Abspeicherung der Y-Anfangskoordinaten eines jeden Paares von Außenlinien eines Zeichens als ein Befehl abgespeichert, der den Beginn des Außenlinienpaares an­ gibt. Weiterhin wird der Parameterwert einer jeden eine Richtungsänderung aufweisenden Außenlinie als Parameter­ änderungsbefehl gespeichert. Die Anzahl von X-Koordinaten­ stellen von jeweils einem Befehl zum nächsten Befehl wird ebenfalls gespeichert. Schließlich wird ein Befehl zur Beendigung des Zeichens abgespeichert. - Die Erzeugung einer geraden ansteigenden oder abfallenden Linie aufgrund eines Steigungsänderungsbefehls erfordert eine hohe Speicher­ kapazität für eine hohe Anzahl Steigungsinformationen, insbesondere wenn gerade, geneigte Strecken als Schrift­ zeichenumrißlinienabschnitte ohne Stufen in hoher typo­ graphischer Qualität zu reproduzieren sind. Deswegen kann zur Bildung einer Außenlinie mit gerader Steigung ein spezieller Befehl gespeichert werden, der inkrementale Änderungen von Y-Koordinatenwerten beinhaltet. Dieser spezielle Befehl gibt an, wie ausgehend von einem Ausgangs­ punkt der Y-Koordinatenwert für jedes konstante X-Koordinaten­ inkrement zu verändern ist. Zu jedem speziellen Befehl ge­ hört die Angabe einer Anzahl von X-Inkrementen, für die eine Veränderung der Y-Koordinate oder der Steigung oder der Krümmung auszurechnen ist. Deswegen ist eine hohe Speicherkapazität zur Speicherung der Steigungsinformationen für eine typographisch hochwertige Schriftzeichengenerierung erforderlich.
Zum Stand der Technik gehört ferner ein Verfahren zum Kodieren von Linien in digitale Daten, nach dem zunächst der Anfang der Linie in einem Normalraster festgestellt wird und dann ein Abtaststrahl mit konstanten Delta-X- oder Delta-Y-Inkrementen entlang der Linie geführt wird (US-PS30 50 581). Bei diesem bekannten Verfahren können die die Umrißlinie beschreibenden Vektoren nur den konstanten Abstand einer Einheit in X-Richtung oder einer Einheit in Y-Richtung aufweisen. Gespeichert werden die kodierten Vektoren durch Daten, welche die Vektorenendpunkte definieren. Wenn Schriftzeichen nach dem bekannten Verfahren wie die fort­ laufende Linie kodiert und gespeichert werden sollen, so können die Schriftzeichen entweder nur für typographische Zwecke unvollkommen, nämlich grob abgestuft gespeichert werden, oder eine große Speicherkapazität ist erforderlich.
Weiterhin gehört ein Verfahren zum Erkennen von Bildmustern zum Stand der Technik, wonach eine Umrißlinie als Funktion einer Bogenlänge oder eines Abstands entlang der Umrißlinie beschrieben werden kann (IEEE Transactions on computers Vol. C-24 No. 8, August 75, Seiten 803-820). Hiernach sind verschiedene Algorithmen zum Beschreiben der Umrißlinien bekannt, die jedoch keine Delta-X- und Delta-X-Koordinaten­ abstände von einem Ende eines Vektors zu dem jeweils nächsten Vektor definieren. Vielmehr werden Tangenten oder Neigungen oder Winkel als verhältnismäßig komplizierte Funktionen errechnet, für deren Daten verhältnismäßig viel Speicherraum benötigt wird.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Kodieren und Speichern von Schriftzeichen der eingangs ge­ nannten Gattung so weiterzubilden, daß die Approximation der Schriftzeichenumrißlinien bei einem geringen Speicher­ bedarf optimiert wird.
Diese Aufgabe wird durch die Ausgestaltung des Verfahrens mit den in dem kennzeichnenden Teil des Anspruchs 1 ange­ gebenen Merkmalen gelöst.
Entsprechend dem erfindungsgemäßen Verfahren werden die Vektoren der Umrißlinienabschnitte nicht sämtlich unmittel­ bar auf die Ausgangspunkte der Umrißlinien bezogen, wodurch sich große Datenmengen ergeben würden, sondern es wird nur der erste Vektor insoweit festgelegt. Im übrigen ergeben sich die Umrißlinien aus der Folge der Vektoren, die als variable Koordinatenabstände in digitale Signale kodiert werden. Die variablen Koordinatenabstände werden so einge­ stellt, daß vorgegebene Abweichungen zu den zu approxi­ mierenden Umrißlinienabständen nicht überschritten werden.
Die nach dem erfindungsgemäßen Verfahren erzeugten Signale können ohne großen Aufwand für wählbare unterschiedliche Schriftgrößen umgesetzt werden, die mit einem Setzgerät ge­ setzt werden. Hierzu sind lediglich die Schnittpunkte zwischen jedem horizontalen oder vertikalen Abtaststrich des Setzgeräts und den Schriftzeichenumrißlinien zu er­ rechnen, um zu bestimmen, wann ein Lichtpunkt des Setzgeräts an- oder abgeschaltet werden muß.
Weitere vorteilhafte Merkmale des Verfahrens zum Kodieren und Speichern der Schriftzeichen ergeben sich aus den Ansprüchen 2-9.
Insbesondere sind nach Anspruch 8 oder 9 die ersten und zweiten digitalen Daten, die jeden Vektor definieren, be­ grenzt. Bei einer mäßigen Auflösung von beispielsweise 432 Einheiten im Geviert umfassen die ersten oder zweiten digitalen Daten jeweils zweckmäßig vier Bit Ziffern, so daß ein Vektor durch ein Byte (8 Bits) dargestellt ist. Es hat sich gezeigt, daß bei weitem die meisten Vektoren, die zur Definition eines Schriftzeichens erforderlich sind, innerhalb von 15 Einheiten in den Richtungen der ersten und der zweiten Koordinate auf dem Raster liegen. Das Vektorkodierschema schließt in sich inkrementale Abstände in der ersten und in der zweiten Koordinatenrichtung von der Spitze des vorausgehenden Vektors ein. Diese inkre­ mentalen Abstände können mit geringerer Information defi­ niert werden als die absoluten Koordinaten einer Vektor­ spitze. Zusätzlich werden der Ausgangspunkt und die Vektor­ daten in einer vorgeschriebenen Folge dargestellt, die von sich aus die Daten mit spezifischen Schriftzeichen-Umrissen zuordnet. Als Ergebnis dieser drei Faktoren ist das vor­ liegende Kodierschema gegenüber den früheren Arten zur Digitalisierung von Schriftzeichen hinsichtlich der Anzahl der erforderlichen Daten zur Definition eines Schriftzeichens und der Komplexität und der Schnelligkeit der hardware, die zur Verarbeitung dieser Daten erforderlich ist, günstig.
Die Daten zur Koordierung der Schriftzeichen können erfindungs­ gemäß automatisch mit einem Digitalrechner von einer groben Punktmatrix-Information oder einem anderen digitalisierten Kode auf relativ einfache Art erhalten werden. Gemäß einem Kodierverfahren werden die Vektoren so gewählt, daß zunächst aufeinanderfolgende Koordinatenpunkte auf jeder Umrißlinie bestimmt werden, für die die Umrißlinie weniger als eine vorgeschriebene Entfernung von einer geraden Linie zwischen diesen Punkten abweicht. Sind diese Umrißpunkte bestimmt, dann werden die Werte der ersten und zweiten Koordinaten jedes aufeinanderfolgenden Punktes von den Werten der ersten und zweiten Koordinate des vorausgehenden Punkts abgezogen, damit die Koordinatenzunahmen von Punkt zu Punkt bestimmt werden können. Diese Zunahmen werden dann als die ersten und zweiten 4-Bit-Daten gespeichert, die jeden Vektor definieren.
Bei höheren typographischen Qualitätserfordernissen werden nach Anspruch 9 die ersten und die zweiten digitalen Daten als 8-Bit Binärzahlen gespeichert, so daß jeder Vektor durch ein Datenwort mit 16 Bit definiert ist. Auch hierbei ist der erforderliche Speicherraumbedarf im Blick auf die gute Approximation der Schriftzeichenumrißlinien noch günstig.
Ein weiterer Aspekt der Erfindung betrifft einen Schrift­ speicher, insbesondere Floppy Disk, der die gemäß dem erfindungsgemäßen Verfahren kodierten Schriftzeichen als digitale Daten speichert. Der Speicher kann dazu auch als Festplattenspeicher oder RAM ausgebildet sein.
Weitere vorteilhafte Ausgestaltungen der Speicher mit den Schriftzeichendaten ergeben sich aus den Ansprüchen 11-24. Durch die Anordnung der gespeicherten digitalen Daten entsprechend Anspruch 11 können die dem Schriftspeicher entnommenen digitalen Daten mit einer elektronischen Rechner- und Steuereinrichtung eines Setzgeräts oder einer anderen Schriftzeichendarstellungseinrichtung unkompliziert in die Darstellung der Schriftzeichen umgewandelt werden, ohne daß hierzu eine große Anzahl zusätzlicher Befehle und Adressen in den Schriftspeicher abzuspeichern sind. Das Wesen des Speichers nach Anspruch 11 besteht also darin, daß dieser Speicher digitale Daten über kodierte Vektoren in einer vorgeschriebenen Folge enthält, die von sich aus diese Daten den spezifischen Schriftzeichenumrissen zu­ ordnet.
Die Schriftspeicher gemäß den Ansprüchen 19-22 beinhalten eine Struktur der gespeicherten digitalen Daten, die die einfache Verarbeitung der ausgespeicherten Daten weiter erleichtert.
In den Ansprüchen 14-18 sind zu diesem Zweck weitere Befehle bzw. Steuerkode angegeben, die in dem Schrift­ speicher zweckmäßig abzuspeichern sind.
Die Ansprüche 23 und 24 beinhalten die vorteilhafte Organisation einer Magnetscheibe als Schriftspeicher der kodierten Daten.
Die Erfindung wird im folgenden anhand einer Zeichnung er­ läutert:
Fig. 1 zeigt ein normalisiertes X-Y-Raster, bei dem geradlinige Vektoren zwischen einzelnen Schnittpunk­ ten eingesetzt wurden.
Fig. 2 stellt eine Versuchsmatrix dar, die bei der automatischen Auswahl der Vektoren zur erfindungsgemä­ ßen Darstellung eines Buchstabenumrisses verwendet wird.
Fig. 3 ist ein Flußdiagramm, das die bei der automatischen Auswahl von Vektoren zur Darstellung eines Buchstabenumrisses durchzuführenden Schritte aufzeigt.
Fig. 4A-4E zeigen ein bevorzugtes Format digitaler Daten für das erfindungsgemäße Schriftzeichen-Kodie­ rungsschema.
Fig. 5 ist ein normalisiertes X-Y-Raster eines dargestellten Schriftzeichens, das durch Ausgangspunkte und Vektoren nach der auf der linken Seite von Fig. 3 gezeigten Anordnung definiert wird.
Fig. 6 zeigt die tatsächliche Kodierung für das in Fig. 5 dargestellte Schriftzeichen unter Verwendung des in Fig. 4 veranschaulichten Datenformats.
Fig. 7A-7D zeigen ein weiteres bevorzugtes Digitaldatenformat für das erfindungsgemäße Schriftzeichen- Kodierschema.
Fig. 8 zeigt ein repräsentatives Schriftzeichen auf einem normalisierten X-Y-Raster, wobei die Schriftzei­ chenumrisse durch Ausgangspunkte und Vektoren nach der auf der rechten Seite von Fig. 1 gezeigten Anord­ nung definiert werden.
Fig. 9 zeigt die tatsächliche Kodierung für das in Fig. 8 dargestellte Schriftzeichen unter Verwendung des in Fig. 5 veranschaulichten Datenformats.
Fig. 10 ist eine Draufsicht auf eine in Sektoren eingeteilte Floppy-disk-Scheibe mit angedeuteten Sektoren und Spuren.
Fig. 11 ist ein Diagramm, welches die Anordnung der Daten für Schrift und Schriftzeichen auf der Floppy- disk-Scheibe darstellt.
Fig. 12 ist ein Diagramm, das die Schriftzeichen-Nachschlag- und Dicktendatei von Fig. 11 ausführlicher darstellt.
Fig. 13 zeigt ein durch vertikale Striche auf dem Schirm einer Kathodenstrahlröhre erzeugtes großes "Q".
Fig. 14A zeigt ein Schriftzeichen, dessen Umgrenzung durch geradlinige Vektoren gebildet ist, zwischen denen vertikale Abtastlinien eingeschlossen sind.
Fig. 14B zeigt, wie das Schriftzeichen nach Fig. 14A mit einer bestimmten Schriftbreite abgebildet wird durch die vertikalen Abtastlinien.
Fig. 15A zeigt ein Schriftzeichen, dessen Umgrenzung durch geradlinige Vektoren gebildet ist, zwischen denen vertikale Abtastlinien eingeschlossen sind.
Fig. 15B zeigt, wie das Schriftzeichen nach Fig. 15A mit einer bestimmten - anderen - Schriftbreite durch die vertikalen Abtastlinien abgebildet wird.
Fig. 16 zeigt, wie Strichendpunkte durch Interpolation aus kodierten Schriftzeichendaten bestimmt werden.
Fig. 17 zeigt, wie Strichendpunkte (Umschaltwerte) durch Mittelwertbestimmung aus kodierten Schriftzei­ chendaten bestimmt werden.
Fig. 18 ist ein Blockdiagramm eines Kathodenstrahlrohr-Setzgerätes.
Fig. 19A und 19B sind Block- bzw. Signaldiagramme, die die Struktur und die Wirkungsweise des Schriftzei­ chengeneratorelemments von Fig. 18 darstellen.
Fig. 20 zeigt das Kodeumwandlerelement von Fig. 19 mit seinen verschiedenen Ein- und Ausgängen.
Fig. 21 ist ein Blockdiagramm der Elemente des in den Fig. 19 und 20 dargestellten Kodeumwandlers.
Fig. 22 ist ein Blockdiagramm des Hauptsteuerelements des in Fig. 21 gezeigten Kodeumwandlers.
Fig. 23 ist ein geometrisches Diagramm, das den durch den Kodeumwandler durchgeführten Vektorberech­ nungsprozeß veranschaulicht.
Fig. 24 ist ein Flußdiagramm, das die Wirkungsweise des Maßstabselements (Festwertmultiplizierers) des Kodeumwandlers veranschaulicht.
Fig. 25 ist ein geometrisches Diagramm, das den durch den Kodeumwandler durchgeführten Interpolations­ prozeß veranschaulicht.
Fig. 26 ist ein Blockdiagramm des Adressierteils des Direktzugriffspeicher (RAM) des Kodeumwandlers.
Fig. 27 ist ein Blockdiagramm des Maßstabselements des Kodeumwandlers.
Fig. 28 ist ein weiteres Flußdiagramm, das die Wirkungsweise des Maßstabselements des Kodeumwandlers veranschaulicht.
Fig. 29 ist ein geometrisches Diagramm, das den durch den Kodeumwandler durchgeführten Prozeß zur Mittelwertbestimmung veranschaulicht.
Fig. 1 veranschaulicht das erfindungsgemäße Kodierschema. Nach diesem Schema wird die Anzahl der erfaßten Koordinatenpunkte entlang den Umrissen des Schriftzeichens weit herabgesetzt. Es wird angenom­ men, daß diese Punkte durch gerade Linien verbunden werden. Statt die absoluten Koordinaten dieser gewähl­ ten Punkte werden, um die Schriftzeichen-Umrisse genau zu definieren, die geraden Linien als Vektoren durch die Anzahl der Koordinateneinheiten von dem einen Ende des Vektors zum anderen dargestellt. Die Vektoren werden in einer Reihenfolge der Spitze bis zum Ende angeordnet, so daß ein neuer Vektor beginnt, wenn ein vorausgehender aufhört. Eine Reihe oder eine Folge solcher Vektoren, die einen Umriß eines Schriftzeichens bilden, geht von einem ursprünglichen Ausgangspunkt aus, der in absoluten Koordinaten gegeben ist.
Wie in der linken Hälfte von Fig. 1 gezeigt ist, verlaufen die Vektoren beispielsweise von links nach rechts unter der Annahme, daß wenn zwei Vektoren von derselben X-Koordinaten ausgehen, der untere Vektor zuerst aufgeführt ist. Ebenso werden, wenn ein oder mehrere Paare von Ausgangspunkten angegeben sind, das untere Paar und der untere Ausgangspunkt zuerst aufgeführt.
In Fig. 1 werden die Ausgangspunkte X₁, X₁ und X₂, Y₂ zunächst in dieser Reihenfolge gegeben. Sodann werden die Vektoren, die von diesen Ausgangspunkten hervorgehen, in der Reihenfolge 1, 2, 3, 4 aufgeführt. Die Zahlen, die diese Vektoren definieren, sind in Tabelle I angegeben:
Tabelle I
Wenn die Vektoren 3 und 4 abgelaufen sind, müssen zwei neue Ausgangspunkte X₃, Y₃ und X₄, Y₄ definiert werden, bevor mit neuen Vektoren fortgefahren werden kann. Da die Schriftzeichendaten von links nach rechts verlaufen, würde man sonst annehmen, daß keine Vektoren oder Ausgangspunkte mit X-Koordinaten-Werten im X-Koordinatenbereich der nächsten zwei Vektoren vorhanden sind.
Nachdem die Ausgangspunkte X₃, Y₃ und X₄, Y₄ gegeben sind, werden die Vektoren in der Reihenfolge 5, 6, 7, 8 in der Maßgabe von unten nach oben aufgeführt. Weitere Vektoren werden dann in der Reihenfolge links nach rechts, von unten nach oben aufgeführt, d. h. in der Reihenfolge, in der sie "ablaufen", während man entlang der X-Achse nach rechts wandert.
Normalerweise treten die Ausgangspunkte in Paaren auf; es ist jedoch auch möglich, daß zwei Vektoren von dem gleichen Ausgangspunkt ausgehen, wie dies durch die Vektoren 9 und 10 dargestellt ist. In diesem Fall ist es zweckmäßig, den gleichen Ausgangspunkt als Paar von Ausgangspunkten mit identischen Werten anzunehmen, so daß der Vektor 9 von dem Koordinatenpunkt, X₅, Y₅ und der Vektor 10 vom Punkt X₆, Y₆ ausgeht.
Die rechte Seite der Fig. 1 veranschaulicht das gleiche Kodierschema unter einer anderen Annahme. In diesem Fall werden die Vektoren eines Schriftzeichens in der gesamten Folge ausgehend von den ursprüngli­ chen absoluten Koordinaten des obersten Punktes einer Vektorfolge von oben nach unten aufgeführt. Bei zwei Ausgangspunkten mit dem gleichen Y-Koordinatenwert ist es gleichgültig, welcher Punkt zuerst aufgeführt wird.
Bei dem auf der rechten Seite der Fig. 1 gezeigten Umriß ist die Reihenfolge der Daten wie folgt: Ausgangs­ punkt X₇, Y₇ und seine Vektoren 11, 12, 13 und so weiter bis zum Ende der Folge; Ausgangspunkt X₈, Y₈ und so weiter bis zum Ende der Folge; Ausgangspunkt X₉, Y₉; Vektoren 17 und 18; Ausgangspunkt X₁₀, Y₁₀; Vektor 19 und so weiter.
Schließlich wird, wie im Falle des Ausgangspunktes X₅, Y₅ und X₆, Y₆ ein einzelner Punkt als ein "Paar" von Ausgangspunkten X₁₁, X₁₁ und X₁₂ definiert. Zunächst wird der Punkt X₁₁, Y₁₁ mit seinem Vektor 20 aufgeführt; sodann wird der Ausgangspunkt X₁₃, Y₁₃ aufgeführt, dem Vektor 21 und die weiteren Vektoren der Folge folgen. Der Ektor 20 endet am Endpunkt 22. Die Vektorfolge, die mit dem Vektor 21 beginnt, endet am Endpunkt 23. Und die Vektorfolge, die mit dem Vektor 11 beginnt, endet am Endpunkt 24.
Die Umsetzung der Schriftzeichen-Umrißdaten in Ausgangspunkt- und Vektordaten kann wenig aufwendig erfolgen.
Fig. 2 und 3 veranschhaulichen eine typische Bildung Algorithmus, der zur Bestimmung der Länge eines Vektors verwendet werden kann.
Fig. 2 zeigt eine 15 × 15-Probematrix im oberen rechten Quadranten von einem Punkt (0,0), der ein ursprüng­ licher Ausgangspunkt oder die Spitze eines vorausgehenden Vektors sein kann. Bei dem Quadrant der Probema­ trix wird angenommen, daß ein Links-Rechts-Vektor definiert werden soll, der sich aufwärts erstreckt (positive Werte von Y).
Die Größe der Probematrix entspricht auch der maximal zulässigen Länge eines Vektors (in diesem Fall jeweils 15 Einheiten in der X- bzw. Y-Richtung). Werden die Vektoren so gewählt, daß sie eine größere oder eine kleinere Maximallänge aufweisen, dann wird die Matrix entsprechend angepaßt.
In diesem Beispiel stellen die Punkte 30 den tatsächlichen digitalisierten Umriß des Schriftzeichens dar. Die Linie 32 stellt einen vorgeschlagenen Vektor dar, der ausprobiert werden muß, um zu bestimmen, ob er ausreichend nahe an den entferntesten Punkt des Umrisses heranreicht, um den Umriß darzustellen. Die Koordinaten X, Y definieren den augenblicklichen Probepunkt für die Spitze des Vektors 32.
Die Koordinaten aller Punkte 30 des Umrisses werden mit x₀, y₀; x₁, y₁; . . . x₁₅, y₁₅, entsprechend ihrer Reihenfolge entlang der X-Achse der Matrix bezeichnet.
Wie in Fig. 3 gezeigt, ist der erste Punkt auf dem Umriß, der ausprobiert werden soll, der Punkt auf der Matrix mit der größten Vorwärtskomponente (in diesem Fall X-Komponente) von dem Punkt (0,0). In Fig. 2 ist der erste Probepunkt X T, Y T (15,9). Der vierte Probepunkt, wo X T, Y T Koordinaten (12,9) sind, wird nach dem Ausfall des Passens der drei vorausgehenden Probepunkte getestet: (15,9), (14,9) und (13,9). Zweck ist es, den längsten Vektor herauszufinden, der den Paß-Test besteht. Es wird jeder Punkt 30 des Umrisses von niedrigerem Wert (mit Koordinaten x, y) ausgehend geprüft, um zu bestimmen, ob ein senkrechter Abstand δ zwischen diesem Punkt und dem Vektor, der vom Ausgangspunkt (0,0) bis X T, Y T gezogen ist, eine vorbestimmte Paßkonstante K überschreitet. Zunächst werden die Koordinaten x, y des Punktes 30 unmittelbar vor dem Probepunkt X T, Y T ausgewählt, und der Versuch wird durchgeführt. Ist der Abstand δ geringer als die Konstante K, dann wird der Umriß-Punkt 30 mit dem nächstniedrigsten Wert von X gewählt, und der Test wird wiederholt. Übertrifft der Abstand δ die Konstante K, dann wird der Testpunkt X T, Y T aufgegeben, und der nächstniedrige Wert von X T wird gewählt.
Wird ein Probepunkt gefunden, für den alle Umrißpunkte 30 mit niedrigeren X-Koordinaten den Test bestehen, oder ist die X-Koordinate X T des Probepunktes auf eins herabgesetzt, dann werden die Koordinaten X T, Y T zur Definition des Vektors benutzt. Der Vektor wird dann durch die Differenz zwischen den Koordinaten der Spitze des letzten vorausgehenden Vektors (Koordinate (0,0) in der Probematrix) und den Koordinaten der gewählten Probepunkte X T, Y T dargestellt. Das heißt, dx, dy wird gleich X T, Y T gesetzt.
Der senkrechte Probeabstand δ wird für jeden Punkt durch einfache Geometrie unter Verwendung von X T, Y T bestimmt. Da eine 15 × 15-Matrix eine begrenzte Anzahl von X T, Y T-Punkten enthält, ist es zweckmäßig, alle möglichen Lösungen für δ in Tabellen einzufügen, so daß sie rasch in den Tabellen aufgefunden und aus dem Speicher entnommen werden können.
Die voreingestellte Paßkonstante kann beliebig klein gewählt werden, so daß die Vektoren so eng wie gewünscht an den tatsächlichen Schriftzeichen-Umriß herankommen. In einer bevorzugten Ausführungsform wird die Konstante K von der Steigung des Probevektors abhängig gemacht, so daß nahezu horizontale Steigungen mehr vom Umriß abweichen können.
dann ist K = 0,5; und ist
dann ist K = 1,0.
Der in Fig. 3 gezeigte Algorithmus ist extrem einfach und kann mit einem Rechner ausgeführt werden, in dem die vertikalen oder horizontalen Umrißpunkte des Schriftzeichens gespeichert sind.
Fig. 2 zeigt eine Probematrix, in der die maximal zulässigen Werte von X und Y 15 Einheiten betragen. Ein Vektor, der irgendwo innerhalb dieser Matrix endet, kann durch zwei 4-Bit-Binärzahlen, dx und dy, definiert werden. Bei einem Raster mit mäßig hoher Auflösung fällt bei weitem die Mehrzahl der zur Definition eines Schriftzeichens erforderlichen Vektoren in eine solche 15 × 15-Matrix, so daß es zweckmäßig ist und zu einer Datenkomprimierung führt, wenn 8 Datenbits (ein Byte) verwendet werden, um jeden Vektor zu definieren.
Erfindungsgemäß wird die Anzahl der Bits, die einen Vektor definieren, zur Minimierung des Gesamtdaten­ vorrats in einem Schriftzeichensatz für eine gegebene Auflösung gewählt. Die maximale Vektorlänge wird so ausgewählt:
  • 1. Zunächst wird die maximale Punktgröße der vom Setzgerät zu generierenden Schriftzeichen festgelegt.
  • 2. Sodann wird eine Auflösung gewählt, die die Reproduktion der feinen Merkmale in den größten Schriftzei­ chen erlaubt.
  • 3. Dann wird die voreingestellte Paß-Konstante K gewählt, so daß die Vektoren den gekrümmten Umrissen des Schriftzeichens mit ausreichender Genauigkeit folgen und daß sie, wenn die Schriftzeichen in der größten Punktgröße reproduziert werden, keine Folge von flachen Stellen auf den gekrümmten Flächen aufweisen.
  • 4. Sodann ist es möglich, eine statistische Verteilung der Vektoren variierender Länge für alle Schriftzeichen in einer Schriftart zu erzeugen.
  • 5. Aus dieser Vektorlängenverteilung wird eine maximale Vektorlänge gewählt, die die Gesamtdatenmenge minimiert. Ist die Gesamtvektorlänge zu kurz (d. h. 3 × 3, was mit insgesamt 4 Bits definiert werden kann), dann erfordert die Definition eines Schriftzeichens eine übermäßige Anzahl von Vektoren und die Datenre­ duktion wird minimal. Ebenso ist, wenn die maximale Vektorlänge zu groß (z. B. 255 × 255, was durch 16 Bits definiert werden kann) ist, die zur Definition kurzer Vektoren erforderliche Datenmenge unnötig groß, was zu einer minimalen Datenreduzierung führt.
Fig. 4 veranschaulicht ein bevorzugtes Format zur Definition eines Schriftzeichens mit Links-Rechts- Vekto­ ren (Fig. 1, linke Seite). Diese Vektoren sind in einem Quadranten durch die X-Y-Koordinaten des Vektoren­ des im Verhältnis zum Ursprung des Quadranten spezifiziert. Da die Umrisse von links nach rechts über das Schriftzeichen gezogen werden, werden nur die zwei rechten Quadranten verwendet. Steuerkodes gestatten eine Selektion des Quadranten, den Beginn und den Abschluß einer Krümmung: Ausgangspunkte werden lediglich durch ihre Y-Werte definiert, weil die X-Lage durch das Kodieren mit einbezogen ist.
Ein Datenblock, der das Schriftzeichen definiert, beginnnt mit einem Vorsatzwort A (bestehend aus 8-Bit-By­ tes), das die X-Koordinate der linken Begrenzung des Schriftzeichens angibt. Darauf folgt ein Ausgangspunkt- Wort B, das die Y-Koordinate des niedrigsten Ausgangspunkts in der ersten X-Rasterlinie des Schriftzeichens angibt. Auf das Wort B folgt in Vektorbyte, das die Werte dx und dy eines Vektors von diesem Ausgangspunkt gibt, und dann ein weiteres Ausgangspunkt-Wort D, das den nächsten niedrigsten Punkt definiert. Ein weiteres Ausgangspunkt-Wort E definiert den höchsten Punkt in der ersten X-Rasterlinie, und ein Vektorbyte F definiert einen Vektor von diesem Ausgangspunkt. Gibt es irgendweleche Ausgangspunkte innerhalb von fünfzehn X-Ein­ heiten von der ersten Rasterlinie, so können diese in ihrer entsprechenden Y-Wert-Folge durchsetzt werden. Der Schriftzeichendatenblock enthält weiterhin Vektorbytes, Steuerbytes und Ausgangswörter C und endet in einem Endglockbyte H, das das Ende des Blockes anzeigt.
Die Fig. 4B, 4C, 4D und 4E zeigen die Formate für das Vorsatzwort, das Ausgangspunktwort, das Vektorbyte bzw. Steuerbyte. Diese Formate werden mit dem unbedeutendsten Bit auf der rechten Seite gezogen. Die Bedeutung der Symbole innerhalb dieser Wörter und Bytes sind wie folgt:
Vorsatzwörter:
XXXXXXXXX₀ - Linksseitiger Begrenzungsabstand
T - Testbit, kann zur Feststellung von Fehlern verwendet werden.
C - Kettungsbit, zeigt an, ob dieses Wort dem letzten Schriftzeichenblock vorgesetzt ist.
K - Kernbit, bestimmt die Richtung auf der linken Seite (vom letzten Schriftzeichen weg oder auf dieses zu).
NNNN₀ - Die Anzahl der Ausgangswörter auf der ersten Rasterlinie des Schriftzeichens.
Ausgangspunkt-Wort:
YYYYYYYYYY₀ - Der vertikale Abstand zwischen der Schriftzeichengrundlinie und dem Ausgangspunkt (positiv oder negativ).
S - Undefiniert
D - Tief-Bit (Down bit), bestimmt, in welchem der zwei rechten Quadranten eine folgende Vektorver­ schiebung eintreten wird.
XXXX₀ - Die Anzahl von Rasterlinien zwischen dem Auftreten der Steuercode "Beginn einer neuen Linie" und den tatsächlichen Ausgangspunkten selbst.
Vektorbyte:
YYYY₀ - Dieser Wert definiert die vertikale Versetzung zwischen dem Beginn und dem Ende eines Vektors.
XXXX₀ - Dies ist die horizontale Versetzung zwischen dem Beginn und dem Ende eines Vektors.
Steuerbyte:
0000 - Diese Bits definieren auf Null gesetzt ein Steuerbyte.
MMMM₀ - Diese vier Bits bilden eine Binärzahl (0 bis 15), die eine Steuerfunktion bezeichnet.
Steuerfunktionen:
Steuerfunktionen sind im gesamten Schriftzeichenblock erforderlich und werden im Steuerbyte mit seinen vier signifikanten auf Null gesetzten Bits angegeben. Dies gestattet es, daß sechzehn verschiedene Funktionen durch den numerischen Wert der restlichen vier definiert werden.
0 - Füllwort
1 und 2 - Undefiniert
3 - Beginne zwei Umrisse ohne Zwischenumrisse
4 - Beginne zwei Umrisse unter bereits bestehenden
5 - Beginne vier Umrisse ohne Zwischenumrisse
6 - Beginne vier Umrisse unter bereits bestehenden
7 - Ersetze einen bestehenden Umriß gegen einen neuen Wert, ohne die numerische Ordnung der Werte oberhalb der Gitterlinie zu verändern (d. h. beende einen und beginne einen Umriß)
8 - Undefiniert
9 - Endblock
10 und 11 - Undefiniert
12 - Beende zwei Umrisse
13 - Beende vier Umrisse
14 - Ändere die Richtung. Folgende Vektoren treten in anderen Quadranten auf
15 - Verschiebung um 16 Einheiten in vertikaler Richtung ohne horizontale Bewegung.
Fig. 5 und 6 veranschaulichen, wie ein Schriftzeichen unter Verwendung des in Fig. 4 gezeigten Formats kodiert werden kann. In Fig. 5 ist ein einfaches Schriftzeichen gezeichnet, das eine Anzahl von Ausgangspunk­ ten, Endpunkten und dazwischenliegenden Vektoren enthält. Die tatsächliche Kodierung für dieses Schriftzei­ chen ist in Fig. 6 linke Spalte, gezeigt. Die Mittelspalte von Fig. 6 erklärt diese Kodierung, und die rechte Spalte zeigt die Folge, in der die Daten in das Setzgerät eingebracht und durch dieses verwendet werden.
Fig. 7 veranschaulicht ein bevorzugtes Format zur Definition eines Schriftzeichens mit von oben nach unten gehenden Vektoren (Fig. 1, rechte Seite). Diese Vektoren sind in einem Quadranten durch die X, Y-Koordina­ ten des Endes des Vektors bezüglich des Ursprungs des Quadranten spezifiert. Da die Umrisse des Schriftzei­ chens von oben nach unten gezeichnet werden, werden nur die zwei unteren Quadranten benutzt. Wie bei dem Format von Fig. 4 gestatten Steuerkodes eine Quadrantenauswahl und Krümmungsbeginn und -vervollständi­ gung. Bei diesem Format ist die Rasterlinie Y = 0 am oberen Teil des Schriftzeichens; die folgenden horizonta­ len Rasterlinien erhalten rasterabwärts die folgenden Y-Zahlen.
Ein das Schriftzeichen definierender Datenblock beginnt mit einem Y-Datenwort, das die höchste Y-Aus­ gangskoordinate des Schriftzeichens angibt. Dann folgt ein X-Datenwort, das die X-Ausgangskoordinate eines Umrisses definiert, die Vektoren und die Steuerung für diesen Umriß.
Alle folgenden Umrisse werden in einer solchen Folge angeordnet, daß die Werte des Ausgangspunkts Y in der Ordnung zunehmender Werte liegen, d. h. der Y-Wert für den nächsten Umriß ist gleich größer als der Y-Wert für den vorausgehenden Umriß. Es werden also ganze Folgen oder Vektorsequenzen definiert und vervollständigt, bevor die nächste Folge definiert wird. Haben zwei Ausgangspunkte den gleichen Y-Wert, so kann jeder Punkt zuerst mit seiner gesamten Vektorfolge aufgeführt werden.
Die Fig. 7B, 7C und 7D zeigen die Formate für das Y-Datenwort, das X-Datenwort bzw. das Vektor- oder Steuerwort. Diese Formate sind mit dem niedrigstwertigen Bit auf der rechten Seite gezeichnet. Die Wertigkeit der Symbole innerhalb dieser Wörter und Bytes ist wie folgt:
Y-Datenwort
Y - Diese Angabe definiert die vertikale Lage des Ausgangspunkts.
K - Undefiniert.
X-Datenwort
XN - Diese Angabe definiert die horizontale Lage eines Ausgangspunkts. Der linke Randabstand (LSB) wird mit 0 definiert.
± - Dieses Vorzeichenbit definiert die Verschiebung von XN relativ zu LSB.
L - Das L-Bit definiert die Richtung des dx des ersten Vektors.
F - Das F-Bit oder "Flare Bit" definiert, welche Vektorneigung durch den Dekodierer bei der Extra­ polation des Umrisses eines Schriftzeichens im Rasterbereich unmittelbar über der Linie YN verwendet wird.
E - Das E-Bit oder Extrapolationsbit definiert, ob Extrapolation in dem Bereich über der Rasterlinie YN verwendet wird oder nicht.
B - Das B-Bit ist das Begrenzungs-Ein/Aus-Bit und definiert, ob der Umriß die linke (Ein) oder die rechte (Aus)Begrenzung ist.
Vektor/Steuer-Wort
dydx - Für alle Werte von dy größer als 0 definiert dieses Byte die Neigung des Vektors des Schriftzei­ chenumrisses vom Ausgangspunkt (YN, XN) oder vom letzten Vektorendpunkt. Alle Vektoren werden serienmäßig in der gleichen Reihenfolge angeordnet wie sie auf dem Umriß des Schriftzei­ chens auftreten. Der Anfangsvektor liegt in dem MSB, der zweite in den LSB des Wortes.
Steuerfunktionen:
Für alle Werte von dy = 0 definiert dieses Byte einen Steuerkode. Die Steuerung hängt von dem Wert dx, wie im folgenden angegeben, ab:
0 - Ende des Umrisses. Liegt es in den MSB, dann müssen die LSB mit Nullen aufgefüllt werden.
1 - Umkehrung der dx-Richtung für den nächsten Vektor.
2 - Bestimmt, daß für den durch die vorausgegangenen Y- und X-Datenwörter definierten Aus­ gangspunkt keine Verschiebungsvektoren anwendbar sind. Diese Steuerung ist immer in den MSB angeordnet, wobei die LSB mit Nullen aufgefüllt sind, um einen Steuerkode "Ende des Umrisses" zu erzeugen.
3 - Bestimmt einen Vektor mit einer horizontalen Verschiebung von 0 Einheiten (einen vertika­ len Vektor) und eine vertikale Verschiebung von mehr als 30 Einheiten. Das nächste Datenby­ te definiert einen binären Wert der vertikalen Verschiebung. Das Datenbyte weist einen sich ergebenden Bereich einer vertikalen Verschiebung von 0 bis einschließlich 255 auf, darf jedoch nicht zwischen 0 und 30 einschließlich verwendet werden.
4 - Definiert einen Vektor mit einer horizontalen Verschiebung von 1 Einheit und einer vertika­ len Verschiebung von 30 Einheiten.
5 - Definiert einen Vektor mit einer horizontalen Verschiebung von 1 Einheit und einer vertika­ len Verschiebung von 60 Einheiten.
6 - Definiert einen Vektor mit einer horizontalen Verschiebung von 1 Einheit und einer vertika­ len Verschiebung von 120 Einheiten.
7 - Definiert eine Reihe von Vektoren, die einem konkaven Umriß folgen.
8 - Das gleiche wie für Funktion 7, jedoch für einen konvexen Umriß.
9 - Das gleiche wie für Funktion 7, jedoch für einen geradlinigen Umriß.
10 - Definiert, ob der Umriß gering oder hochgradig konkav oder konvex ist (dieses Bit wird nur abgetastet, wenn die Bits 7 oder 8 konkav oder konvex angeben).
11 - Definiert einen Vektor mit einer vertikalen Verschiebung von 1 Einheit oder einer horizonta­ len Verschiebung von mehr als 255 Einheiten. Das nächste Datenbyte definiert den Binärwert einer horizontalen Verschiebung von mehr als 255 Einheiten.
12-14 - Undefiniert.
15 - Definiert einen Vektor mit einer horizontalen Verschiebung von 1 Einheit und einer horizon­ talen Verschiebung von mehr als 15 Einheiten. Das nächste Datenbyte definiert den Binärwert der horizontalen Verschiebung.
Die Fig. 8 und 9 veranschaulichen, wie ein Schriftzeichen mit dem erfindungsgemäßen Kodierverfahren unter Verwendung des in Fig. 7 gezeigten Formats kodiert werden kann. In Fig. 8 enthält das Schriftzeichen "A" eine Anzahl von Ausgangspunkten, Endpunkten und dazwischenliegenden Vektoren. Die tatsächliche Kodierung für dieses Schriftzeichen ist in Fig. 9, linke Spalte, dargestellt. Die rechte Spalte von Fig. 9 erklärt die kodierten Daten.
Die in Fig. 10 gezeigte Magnetscheibe weist feste Sektoren auf, an denen 32 kleine in regelmäßigem Abstand um die Mittelöffnung angeordnete fotoelektrisch abtastbare Löcher markiert sind. Ein 33. Loch in der Mitte zwischen zwei der gleichmäßig angeordneten Löcher bestimmt den Ausgangspunkt. Die Scheibe ist außerdem konzentrisch in 77 kreisförmige Bahnen unterteilt. Eine Adresse bzw. Stelle auf der Scheibe kann also durch Bahn und Sektor bestimmt werden.
Fig. 11 zeigt, wie ein oder mehrere Sätze von kodierte Schriftzeichen auf der Magnetscheibe aufgezeichnet werden können. Zwei spezielle Sektoren auf der Scheibe auf einer besonderen Bahn werden dem Plattenspei­ cheretikett und dem Schriftindex (Schriftverzeichnis) zugeordnet. Die kodierte Schriftzeicheninformation kann gespeichert werden, indem bei jeder beliebigen anderen Adresse auf der Scheibe begonnen werden kann.
Das Plattenspeicheretikett beschreibt den Inhalt der Scheibe in konventionellen arabischen Ziffern, kodiert in Binärziffern. Der Schriftindex gibt die Anfangsadresse jeder auf der Magnetscheibe aufgezeichneten Schriftart.
Die Schriftartinformation besteht aus einer Schriftzeichen-Nachschlag- und Dicktendatei, gefolgt von Daten­ blocks, welche alle in der Schriftart vorhandenen Schriftzeichen definieren. Die Schriftzeichendatenblocks können das in Fig. 4A oder 7A gezeigte Format haben.
Eine Nachschlag- und Dicktendatei ist in Fig. 12 dargestellt. Die Datei enthält die auf einzelne Schriftzeichen anwendbaren Daten, die für ein Satzsystem erforderlich sind.
Werden drei Bytes verwendet, um die Daten für jedes Schriftzeichen zu definieren, dann können bis zu 83 Schriftzeichen in einem Sektor beschrieben werden. Jede Schriftzeichen-Dicktengruppe von drei Bytes enthält eine Schriftzeichen-Nummer bzw. die Schriftzeicheneinheit-Dickte bzw. Kennzeichenbits ("flag bits"). Die Schriftzeichennummer hängt mit der Form des Schriftzeichens entsprechend einer Eingabe-Tastatur zusammen.
Die Kennzeichenbits B, C, D sind Bits, die besondere Eigenschaften des Schriftzeichens definieren, z. B. ein Grundakzent, eine auf mittlerer Höhe angeglichener Akzent oder ein hochgesetztes Schriftzeichen (Hochzahl).
Die Schritzeichen-Nachschlag- und Dicktendatei schließt mit einer Kettungsadresse, die die Adresse des nächsten Sektors der Schriftzeichendicktendatei oder des ersten Sektors der kodierten Schriftzeichendaten enthält.
Fig. 13 zeigt die Art von Daten, um ein gemäß Fig. 1-12 kodiertes Schriftzeichen mittels eines Schriftzei­ chengenerators mit einer Kathodenstrahlröhre, einem Laserstrahl oder einem anderen Lichtpunktabtaster mit Strichen darzustellen. Insbesondere erfordert der Schriftzeichengenerator Daten in Form von Umschaltwerten auf jeder Abtastlinie. Im Falle vertikaler Abtastlinien, wie in Fig. 13 dargestellt, sind dies die gezeichneten Y-Werte der Ein/Aus-Umschalt-Punkte auf jeder Abtastlinie. Die Werte werden auf die Schriftzeichengrundli­ nie bezogen, wobei die positiven Werte von Y über die negativen Werte unter der Grundlinie angeordnet sind. Der oberste Wert des höchsten abgebildeten Segments in einer Abtastlinie wird markiert, so daß der Schriftzei­ chengenerator sofort weiterfahren und in die nächste Linie abtasten kann.
In Fig. 13 wird in der ersten (äußerst linken) Abtastlinie 40 der Abtaststrahl vertikal aufwärts geführt und verläuft mit konstanter Geschwindigkeit von der Grundlinie. Der Strahl bleibt abgeschaltet, bis er eine Entfer­ nung Y 0 von der Grundlinie erreicht hat. An diesem Punkt wird der Strahl eingeschaltet und bleibt an, bis er eine Entfernung Y 1 von der Grundlinie erreicht hat. Die Abtastung kann dann mit abgeschaltetem Strahl fortgeführt werden, bie sie den oberen Teil der Rastermatrix erreicht. Vorzugsweise wird der Strahl jedoch sofort unter Y 2 oder zur Grundlinie zurückgeführt und beginnt mit der zweiten Abtastlinie 42. Diese Rückfüh­ rung wird durch Zuordnung und "Zeilenende"-Kennzeichnung zu den Daten Y 1 ausgelöst.
Die vom Schriftzeichengenerator geforderte Datenfolge ist also Y 0, Y 1 , Y 2, Y 3 , Y 4, Y 5 , Y 6, Y 7 , Y 8, Y 9, Y 10, Y 11 , Y 12, Y 13, Y 14, Y 15 usw., wobei die Zeilenende-Kennzeichnung in dieser Folge durch die Kursiv­ schrift Unterstreichung gegeben ist. Da die Daten gespeichert sind und dem Setzgerät in Ausgangspunkt- und Vektorumriß-Format zugeführt werden, erfordert das Setzgerät einen Kodeumwandler, um dieses Vektorfor­ mat in das in Fig. 13 gezeigte Umschaltformat umzuwandeln. Bei der im folgenden beschriebenen Ausführungs­ form kann der Kodeumwandler das in den Fig. 6 bis 8 gezeigte Format in ein vertikal abgetastetes Einzelschrift­ zeichen-Umschaltformat übersetzen.
Bei der Durchführung der Übersetzung vom Vektorformat in das Umschaltformat sollte der Kodeumwandler vorzugsweise in der Lage sein, Normalisierung, Interpolation und Durchschnittsermittlung durchzuführen. Diese drei Wirkungsweisen sind in den Fig. 14 bis 17 dargestellt.
Unter der Annahme, daß die Ausgangslösung (Abtastliniendichte) des Schriftzeichengenerators feststeht, müssen die Schriftzeichen horizontal normalisiert werden, indem die Anzahl der zur Definition eines Schriftzei­ chens erforderlichen Abtastlinien angepaßt wird. Die Fig. 14 und 15 veranschaulichen dieses Prinzip, wobei die Dickte des Schriftzeichens durch gleichmäßiges Verteilen der erforderlichen Anzahl von Abtastlinien über das Schriftzeichen variiert wird.
Vertikale Normalisierung kann durch einen Vertikalablenkverstärker oder durch Vervielfachung der Um­ schaltwerte Y 0, Y 1, Y 2 . . . durch einen digitalen Normierungsfaktor erreicht werden.
Für Schriftzeichen größerer Punktgröße kann es notwendig sein zu interpolieren, um den Umschaltungspunkt auf bestimmten Abtastlinien zu finden. Bevorzugt wird eine direkte Interpolation zur Heraufsetzung der digitali­ sierten Auflösung verwendet.
Der Kodeumwandler führt weitere gleichmäßig beabstandete vertikele Linien zwischen jedes Paar Digitali­ sierungslinien ein und verwendet direkte Interpolation, um die Umschaltwerte, wie in Fig. 16 gezeigt, abzu­ schätzen.
In dieser Abbildung sind die durchgehenden Linien die ursprüngliche Digitalisierungsauflösung und die unterbrochenen Linien die zusätzlichen interpolierten Stellungen. Eine "0" steht für einen aus einer Vektordeko­ dirung erhaltenen Digitalisierungspunkt, ein "X" bedeutet einen interpolierten Punkt. Wären alle zusätzlichen Linien Ausgang bei der konstanten Ausgangsauflösung, dann würde das Schriftzeichen viermal größer als die ursprüngliche Größe erscheinen (beispielsweise 128 gegenüber 32). Es ist daher möglich, Linien über den Schritzeichen periodisch auszulassen, damit jede gewünschte Schritzeichendickte unter dieser Größe erzeugt werden kann.
Uner einem bestimmten Schriftgrad kann eine Mittelwertbildung zur Herabsetzung der Daten verwendet werden. Hierzu kann der Kodeumwandler Umschaltwerte erzeugen, die den arithmetischen Durchschnitt der Digitalisierungwerte zwischen Ausgangsabtastlinien, wie in Fig. 17 gezeigt, darstellen.
Das Setzgerät gemäß Fig. 18 wird durch eine Zentralprozessoreinheit 50 direkt über eine Datensammellei­ tung 54 gesteuert. Der Betrieb wird durch ein Programm bestimmt, das in einem Hauptspeicher 56 an einer Hauptsammelleitung 52 gespeichert ist.
Die Betriebsanweisungen für die Maschine werden von einem Lochstreifenleser, einer Bedienungseinrichtung an der Frontplatte 60 oder einer on-line-Schnittstelle 62 erhalten. Alle diese Elemente sind an die Datensammel­ leitung 52 geschaltet ebenso wie die Magnetscheiben-Lese/Schreibeinheit 64, die die digitalisierten Schriften liefert.
Eine Hilfssammelleitungsschnittstelle und ein Hifssammelleitungspuffer 66 steuern die der Hilfssammellei­ tung 54 zugeordneten Komponenten. Die Schnittstelle und die Steuereinheit 66 wird wiederum durch die Zentralprozessoreinheit 50 über die Hauptsammelleitung 52 gesteuert.
Die der Hilfssammelleitung 54 zugeordneten Komponenten sind für die Generierung der Schriftzeichen vorantwortlich. Der Kodeumwandler 70 entnimmt zusammengefaßte Schriftsatzdaten von einem RAM- oder PROM-Schriftspeicher 72 und wandelt sie in ein ausgedehntes Umschaltwertformat um. Ein Schriftzeichengene­ rator 74 empfängt diese Daten und erzeugt ein Strahlschaltsignal auf der Leitung 84 sowie Analogspannungen, die X- und Y-Ablenkungen auf einer Kathodenstrahlröhre darstellen. Diese Analogspannungen werden durch einen Videoablenkverstärker 76 verstärkt. Die Schriftzeichen werden schließlich auf einer Kathodenstrahlröhre 78 mit Ablenkspulen 80 erzeugt. Der Strahl der Kathodenstrahlröhre wird in den entsprechenden Momenten während des Abtastens durch das auf der Leitung 84 vom Schriftzeichengenerator 74 erhaltene Signal ein- und ausgeschaltet.
Der Computer 50 steuert die Funktionen der verschiedenen Elemente des Geräts. Zunächst wird die Auswahl der Schriftart, der Punktgröße, der Schriftzeichen und der Stellungen der Schriftzeichen durch den Lochstreifen­ leser 58 gelesen und im Hauptspeicher 56 gespeichert. Die kodierten Daten, die die einzelnen Schriftzeichen der gewählten Schriftart definieren, werden sodann durch die Lese/Scheibeinheit 64 von einer Magnetscheibe abgelesen und im Direktzugriffspeicher RAM 72 gespeichert.
Auf Anweisung des Computers 50 empfängt der Kodeumwandler 70 kodierte Daten für ein einzelnes Schrift­ zeichen aus dem RAM 72 und errechnet die Strahlschaltpunkte für jede aufeinanderfolgende Rasterzeile. Der Kodeumwandler verfolgt und aktualisiert auch die X- und Y-Rasterkoordinaten. Zur Unterstützung der Berech­ nung der Strahlschaltpunkte dient ein programmierbarer Nur-Lese-Speicher innerhalb des Umwandlers als Nachschlagtabelle für die Steigung eines jeden definierten Vektors.
Das Schriftzeichenabbildungssystem mit den Elementen 74 bis 90 bildet die aufeinanderfolgenden Schriftzei­ chenzeilen auf lichtempfindlichen Film ab. Auf Anweisung des Computers 50 transportiert das System nach Vervollständigung einer jeden Zeile den Film weiter.
Die Schriftzeichengenerierung geschieht wie folgt: Der Ausgangspunkt und die Vektordaten, die sich auf den Teil des Schriftzeichens beziehen, der auf einer vertikalen Abtastzeile abgebildet werden soll, werden im RAM 72 adressiert (aufgerufen) und in dem Kodeumwandler-Eingangspuffer festgehalten. Während jede einzelne Abtastlinie abgebildet wird, werden die folgenden Daten, die Ausgangspunkte und Vektoren für die nächstfol­ genden Zeilen definieren, abgerufen. Während sich die Vektoren in der X-Richtung über eine Anzahl vertikaler Abtastzeilen ausdehnen können und dies normalerweise auch tun, wird ein neuer Vektor nur dann aufgerufen, wenn der (oder die) zuvor gespeicherten Vektor(en) zur Definition der nächsten Abtastzeile nicht ausreichen.
Die Berechnung der Kathodenstrahlröhren-Strahlschaltpunkte für die nächste Abtastzeile folgt dann unter Verwendung der in dem Vektorneigungsspeicher PROM gespeicherten Neigungen. Wie in Fig. 19A dargestellt, werden die Y-Umschaltstellungen in einem Registerstapel 91 gespeichert. Die Y-Umschaltwerte für jede Ab­ tastzeile werden sodann in aufeinanderfolgende Y-Register im Stapel eingegeben. Der höchste Y-Wert in der Abtastlinie wird mit einem ENDSC-Bit gekennzeichnet, damit angedeutet ist, daß die Abtastung zurückgesetzt werden kann. Der Ausgang des niedrigsten Y-Registers im Stapel wird durch einen Digital-Analog-Umwandler 92 im Schriftzeichengenerator 74 in einen Analogwert umgewandelt. Der Schriftzeichengenerator weist außer­ dem einen Sägezahngenerator 93 auf. Ein Vergleicher 94, der so geschaltet ist, daß er den Zustand eines Flip-Flop-Kippschalters 95 ändert, schaltet den Strahl der Kathodenstrahlröhre ein bzw. aus, wenn der Ausgang des Sägezahngenerators einen Analogwert erreicht, der gleich dem D-A-Ausgang ist, und veranlaßt den Stapel 91, den nächst höhren Y-Abfangwert abzurufen. Ist das ENDSC-Bit vorhanden, wenn eine Strahlumschaltung eintritt, so daß ein Signal auf der Leitung 96 liegt, dann wird der Sägezahngenerator 93 zurückgesetzt, so daß er eine Y-Ablenkspannung erzeugt, die etwas geringer ist als die des nächstfolgenden Y-Abfangwerts. Das vermei­ det überschüssigen Rücklauf und erhöht die Setzgeschwindigkeit.
Der Sägezahngenerator 93 verringert seine Ausgangsspannung rasch und mit konstanter Geschwindigkeit, wenn an seinem Rücklauf-Eingang ein Signal vorhanden ist. Dieses Rücklaufsignal bleibt eingeschaltet, bis der Ausgang des Sägezahngenerators unter den niedrigsten Y-Umschaltwert für die nächste Abtastzeile gefallen ist. Das Rücklaufsignal wird durch eine logische Schaltung mit einer UND-Torschaltung 97, einem Umwandler 98 und einem Flip-Flop 99 erzeugt, die einen Eingang vom Vergleicher 94 und dem ENDSC-Signal auf der Leitung 96 erhalten.
Der Betrieb der Rücklauf-Logikschaltung ist in Fig. 19B veranschaulicht. Diese Figur zeigt die Y-Ablenk­ spannung der Kathodenstrahlröhre, die durch den Sägezahngenerator 93 für mehrere Striche des in Fig. 13 gezeigten "Q" erzeugt wird. Zu Beginn des ersten Strichs 43 werden die Y-Abfangwerte Y 6 und Y 7 in das niedrigste bzw. nächstniedrigste Y-Register im FIFO-Stapel 91 eingeführt. Da der Ausgang des Sägezahngene­ rators an einem Punkt etwas unterhalb der Y 6 äquivalenten Analogspannung beginnt, erzeugt der Vergleicher 94 keinen Ausgang. Erreicht jedoch die Y-Ablenkspannung die Y 6-Werte, dann erzeugt der Vergleicher 94 ein Signal, das den Kippschalter 95 von ein in aus schaltet und den nächsten Y-Wert, Y 7, im FIFO-Stapel 91 abruft. Die Y-Ablenkspannung steigt kontinuierlich an, bis sie eine Spannung äquivalent Y 7 erreicht.
Da der nächste Y-Wert erheblich niedriger ist als die Y-Ablenkspannung, erzeugt der Vergleicher 94 weiterhin ein Signal, bis der Sägezahngeneratorausgang herabgesetzt ist. Da ein ENDSC-Bit mit Y 7 verbunden ist, ist ein Signal auf der Leitung 96 vorhanden. Der Ausgang des Vergleichers 94 und das Signal auf der Leitung 96 triggern die UND-Torschaltung 97 und setzen das Flip-Flop 99 zur Erzeugung eines Rücklaufsignals. Ist der Ausgang des Sägezahngenerators 93 unter den Y-Wert gefallen, dann fällt der Ausgang des Vergleichers 94 ab und setzt das Flip-Flop 99 über den Umwandler 98. Dies schaltet das Rücklaufsignal ab und ermöglicht es dem Sägezahngenerator, den Strich 44 heraufzufahren. Die Y-Ablenkspannung erreicht daraufhin sofort den Y 8-Wert, wodurch der Vergleicher 94 wiederum ein Ausgangssignal erzeugt, das den Strahl von aus in ein schaltet. Der Strahl wird wiederum ausgeschaltet, wenn die Y-Ablenkspannung Y 9 erreicht, wird eingeschaltet, wenn sie Y 10 erreicht und wiederum ausgeschaltet, wenn sie Y 11erreicht. Da ein ENDSC-Bit mit Y 11 verbunden ist, wird der Rücklaufprozeß wiederholt, damit der Strich 45 begonnen werden kann.
Fig. 20 gibt die verschiedenen Eingänge und Ausgänge des Kodeumwandlers 70. Die Signale zur und von der Hilfssammelleitung 54 sind links, die Signale zum und vom Schriftzeichengenerator 74 sind rechts dargestellt. Diese Signale werden wie folgt definiert:
XDB - 16-Bit-Datenwort, das das abzubildende Schriftzeichen definiert, parallel vom RAM 72 empfangen.
XBMS - 3 Steuereingänge, deren Zustände durch den Computer 50 bestimmt werden, veranlassen und steuern die Abläufe im Kodeumwandler.
XRST - Ein Signalsteuereingang, der vom Computer 50 ausgeht, wird verwendet, um den Kodeumwandler unab­ hängig von den Zuständen der anderen Signale zurückzusetzen.
CYCREQ/CYCACK - Dateneingang geschieht nach Empfang eines XMBS-Signals. Der Kodeumwandler übernimmt dann die Steuerung des Austausches von Synchronisationsimpulsen und liefert ein Signal auf CYCREQ, sobald es ein Datenwort benötigt. Das Wort wird festgehalten, wenn das Datenwort einem Signal auf CYCACK ent­ spricht, und das CYCREQ-Signal wird fallengelassen.
EOC - Hat der Kodeumwandler die Verarbeitung eines Schriftzeichens abgeschlossen, dann nimmt er einen Leerlaufzustand an, bis der Schriftzeichengenerator ein EMPTY-Signal aussendet. Der Kodeumwandler liefert dann das Signal auf EOC, bis das XBMS-Signal, das den Dateneingang anzeigt, entfernt ist.
SDATA - 11-Bit-Datenwörter, die Umschaltwerte darstellen, werden dem Schriftzeichengenerator in serieller Form zugeleitet.
SERCK - Der Kodeumwandler erzeugt ein 5-MHz-Taktsignal, das dem Schriftzeichengenerator zur Synchronisie­ rung der Bits im Ausgangsdatenwort (SDATA) zugeleitet wird.
ENDSC - Bezog sich das Ausgangsdatenwort auf die höchste Umrißkurve des Schriftzeichens an diesem Punkt, so wird dem Schriftzeichengenerator 74 auf dieser Leitung ein Signal zugeleitet, um die Abtastung (Strich) zu beenden.
DATRQ/DATAV - Der Schriftzeichengenerator fordert Daten an, indem er ein Signal auf DATRQ abgibt. Der Kodeumwand­ ler antwortet mit einem Signal auf DATAV, wenn das Ausgangsdatenwort verfügbar ist. Die Datenbits werden dann auf SDATA über die folgenden 11 Taktzyklen übertragen, und das Signal auf DATAV wird fallengelassen.
STEPDN/STEPUP - Der leere Raum an der Vorderkante eines Schriftzeichens wird durch den Kodeumwandler normiert. Die Breite des Raums wird dem Schriftzeichengenerator als eine Reihe von Impulsen übertragen. Jeder Impuls entspricht einer Bewegung einer Zeilenabtastung (Strich). Die Seitenbegrenzung kann vom vorausgehen­ den Schriftzeichen weg oder auf dieses zu bewegt werden. Die Breite des Raums und die Richtung werden in den Schriftzeichendaten spezifiziert. Impulse erscheinen auf STEPUP zur Vergrößerung der Seitenbe­ grenzung und STEPDN für ein Schriftzeichen mit Vorsprüngen. Die Impulse treten zu Beginn der Verarbei­ tung des Schriftzeichens auf, bevor dem Schriftzeichengenerator irgendwelche Datenwörter zugeführt wurden.
EMPTY - Der Schriftzeichengenerator liefert ein EMPTY-Signal, wenn sein Ausgangspuffer leer ist. Dieses wird durch den Kodeumwandler verwendet, um festzustellen, wenn ein Schriftzeichen vollständig gezeichnet ist.
Fig. 21 ist ein Blockdiagramm, das die Elemente des Kodeumwandlers darstellt. Das Element 100, das als Hauptsteuerungseinrichtung bezeichnet ist, ist in Fig. 22 getrennt dargestellt. Die Hauptsteuerungseinrichtung 100 erhält 16 Eingänge von einem Steuerdekodierer 102 und vier XBMS (Signale 0, 1, 2) und XRST entsprechen­ de Eingänge. Der Dekodierer 102 erzeugt die 7 Steuereingänge von 8 Signalen, die Ausgangswörter und Steuerbytes darstellen und von einem Eingangspuffer 104 erhalten werden. Die Daten werden von den 16 XDB-Leitungen in den Eingangspuffer geklinkt.
Die in Fig. 22 dargestellte Hauptsteuerungseinrichtung erzeugt 46 Ausgangssignale zur Steuerung des Be­ triebs des Kodeumwandlers.
Diese Signale werden den verschiedenen logischen Elementen des Umwandlers so zugeführt, daß die Signale in einer vorgeschriebenen Folge eingebracht und festgehalten werden. Die Hauptsteuerungseinrichtung besteht aus einem Zustands-PROM 106, der den nächsten Zustand des Kodeumwandlers aus dem augenblicklichen Zustand und den Bedingungen auf 16 Steuereingängen bestimmt. Der Zustand-PROM wird durch 4 Signale von einem Multiplexer 108 und 5 Signale von einer Verriegelung 110 adressiert. Der Augang des Zustands-PROM wird der Verriegelung 110 zugeführt, die wiederum mit einem Zustandsdecodierer 112 und einem Pseudo-Zu­ stands-PROM 114 verbunden ist.
Der Pseudo-Zustands-PROM 114 kann seinen Ausgangszustand während eines Verarbeitungszyklus modifi­ zieren, wenn der augenblickliche Zustand und seine Steuereingänge dies fordern. Zusätzlich zu dem Zustands­ ausgang von der Verriegelung 110 erhält der Pseudo-Zustands-PROM die 4 Steuersignale grundsätzlich vom Dekodierer 102. Von den 8 Ausgängen des Pseudo-Zustands-PROMs 114 werden 5 durch einen Pseudo-Zu­ standsdekodierer dekodiert um 24 Steuerausgänge zu erzeugen.
Vektorverarbeitung
Für die Vektorverarbeitung sind fünf Parameter gespeichert. Dies sind:
  • 1. Interceptwert (11 Bits): Der Interceptwert, der im Interceptspeicher 120 gespeichert ist, ist der Y-Wert aufeinanderfolgender Vektorenden um einen Umriß. Das heißt: Y₀ = Δ Y Ausgangspunkt ( Δ X N, Δ Y N ist der N-te Vektor)
    Y₁ = Y₀ ± Δ Y
    Y₂ = Y₁ ± Δ Y
    ·
    ·
    ·
    Y N = Y N-1 ± Δ Y N-1
  • 2. X-Werte (4-Bits): Der Δ X-Wert, der im Δ X-Speicher 122 gespeichert ist, ist der horizontale Abstand vom rechten Ende des laufenden Vektors. Für aufeinanderfolgende Berechnungen der Rasterzeilen gilt also: Δ X = Δ X N (neuer Vektor beginnt hier)
  • Δ X = 1(Ende des Vektors).
  • 3. Δ Y-Wert (5 Bits): Der Δ Y-Wert, der im Δ Y-Speicher 124 gespeichert ist, ist der annähernde vertikale Abstand vom rechten Ende des laufenden Sektors. Die vier wichtigsten Bits werden als Eingangs-Δ Y N-Wert und das wichtigste Bit wird durch eine Nachschlagtabelle zur Heraufsetzung der Genauigkeit eingebracht.
  • 4. Zeichenbit (1 Bit): Das Zeichenbit, das im Steuerbitspeicher 126 gespeichert ist, ist 0 für einen Vektor in einem (beispielsweis dem oberen) Quadranten und eins für einen Vektor im anderen (beispielsweise unteren) Quadranten.
  • 5. Gültiges Bit (1 Bit): Das gültige Bit, das im Steuerbitspeicher 126 gespeichert ist, ist 0 für einen Umschalt­ wert, der ein neuer Ausgangspunkt-Y-Wert ohne eine Vektormodifizierung ist, und eins für einen modifi­ zierten Umschaltwert, der zur Berechnung eines Ausgangswerts verwendet werden kann.
Mit Ausnahme der A-, B- und C-Leitungsschleifen, die den Abfangspeicher 120, einen Akkumulator 128 und einen Korrekturspeicher umfassen, wird das Zeichen ignoriert, und es werden nur positive Werte berücksichtigt. Das Zeichenbit wird, wenn erforderlich, am Akkumulator eingebracht.
Die Berechnung beginnt, wenn der Ausgangspunkt-Y-Wert in den Abfangspeicher 120 eingebracht ist und der Δ X-Speicher 122 die Verschiebung am Beginn des ersten Vektors hält und das gültige Bit auf Null gesetzt ist. Während jede Rasterlinie verarbeitet wird, wird der X-Speicher vermindert; wenn er "1" erreicht, signalisiert er nach einem Vektorbyte. Der Abfangspeicher 120 wird mit dem Y-Wert aktualisiert, und Δ X und Δ Y werden gespeichert. Das gültige Bit wird auf 1 gesetzt, wodurch die Daten für den Ausgang verfügbar werden. Dieser Berechnungsprozeß ist in Fig. 23 veranschaulicht. Auf den folgenden Rasterlinien wird der Δ X-Speicher ver­ mindert und Δ Y wird um den Ausgang eines Vektorneigung-PROMs 129 verringert. Der PROM wird durch Δ X und Δ Y adressiert und gibt einen normalisierten Δ Y-Wert, δ y, ab. δ y wird durch einen Interpolations-PROM 132 invertiert, der in dieser Betriebsart nur als Komplementpuffer wirkt. Dieser Ausgang wird dann durch einen Addierer 134 Δ Y addiert und wieder in den Δ Y-Speicher 124 eingegeben.
Alle Kodeumwandlerspeicher sind aus 16 Dierektzugriffspeichern zusammengesetzt. Die Direktzugriffspei­ cher werden parallel von einem 4 Bit mal 16 großen FIFO-Register adressiert. Dieses Register enthält die Direktzugriffspeicher-Adressen für die laufenden Umrisse in der Reihenfolge zunehmender Interceptwerte. Der FIFO arbeitet normalerweise so, daß seine Ausgänge mit seinen Eingängen verbunden sind, so daß die Adressen zirkulieren. Für jeden Vektorverarbeitungsschritt wird eine Adresse in das Ausgangsregister des FIFO taktwei­ se eingegeben, und die vorausgehende Adresse wird dem FIFO-Eingang zugeführt.
Neue Adressen bei Ausgangspunkten können vom neuen Adressenzähler in die Schleife eingebracht und dem FIFO-Stapel zugefügt werden. An Endumrißpunkten wird die Adresse nicht in den FIFO zurückgeführt und so vom Stapel gelöscht.
Ursprünglich wird der neue 4-Bit-Adressenzähler auf eine Maximalzählung von 15 eingestellt und bei jedem Auftreten eines Ausgangspunkts vermindert. Bei jeder Stelle im Direktzugriffspeicher, die Umrißinformation enthält, ist das Nicht-frei-Bit auf eins eingestellt. Das Nicht-frei-Bit (1 Bit), das im Steuerbitspeicherr 126 gespei­ chert ist, ist 0 für eine leere Stelle im Direktzugriffspeicher und eins für eine besetzte Stelle. Ein Steuercode- "Umrißende" verursacht, daß das Nicht-frei-Bit auf 0 zurückgesetzt wird.
Treten in einem Schriftzeichen 16 Umrisse auf, dann muß der neue Adressenzähler auf Null vermindert werden. Jedem weiteren Ausgangspunkt muß mindestens eine gleiche Anzahl von Umrißend-Codes vorausge­ hen, da nicht mehr als 16 Umrisse gleichzeitig durch den Kodeumwandler verarbeitet werden können. Bei Eingang eines solchen Code "Umrißanfang" adressiert die Hauptsteuerung sequentiell die Stellen im Direktzu­ griffspeicher, indem der neue Adressenzähler vermindert wird, bis eine Adresse gefunden ist, bei der das Nicht- frei-Bit auf 0 gesetzt ist. Diese Adresse wird dann in den FIFO-Stapel eingebracht und für den neuen Umriß verwendet.
Der FIFO kann folglich einen Stapel variabler Länge mit nicht-sequentiellen Werten enthalten, die den Adressen der laufenden Umrisse im Direktzugriffspeicher entsprechen. Die Reihenfolge, in der Ausgangspunkt­ codes und Vektorcodes in den Schriftzeichendaten auftreten, stellt sicher, daß die Adressen in den Stapel eingebracht werden und so den Direktzugriffspeichern in der richtigen Reihenfolge eingegeben werden, daß zunehmende Umschaltwerte am Ausgang erzeugt werden.
Dieses Direktzugriffspeicher-Adressiersystem bietet ein rasches und flexibles Verfahren zur zyklischen Verar­ beitung einer variablen Anzahl von Umrissen, wobei eine korrekte Reihenfolge ohne zusätzliche Information aufrechterhalten wird.
Maßstabänderung (Normalisierung)
Ein Wert, der die Zeichenvorratsbreite in Punkten darstellt, wird in einen Normierer 136 gebracht, bevor die Vektorverarbeitung eingeleitet wird. Aufgabe des Normierers ist die horizontale Maßstabänderung des Schrift­ zeichens durch Bestimmung des Punktes, an dem Y-Werte dem Ausgangspuffer 138 zur seriellen Übertragung zum Schriftzeichengenerator transportiert werden müssen. Der Normierer 136 informiert die Hauptsteuerung 100, ab die nächsten Rasterzeilen zu berechnen sind oder die laufenden Y-Werte ausgegeben werden sollen. Sollen Y-Werte in den Ausgangspuffer gesetzt werden, dann liefert er entweder die Interpolationsadresse oder den Durchschnittskalenfaktor.
Der Normierer arbeitet mit wesentlich höherer Auflösung als der Rest des Kodeumwandlers, damit eine hohe Genauigkeit gerantiert wird.
Ist die Vektorauflösung X Linien/Geviert, dann arbeitet der Normierer mit 16 X Linien/Geviert. Die Erzeu­ gung eines Schriftzeichens bei einer bestimmten Ausgangsgröße mit einer fixierten Ausgangsstrichauflösung kann W Linien/Geviert erfordern. So approximiert der Normierer den Bruch 16X/W, der der Anzahl der Normierer-Linien zwischen jeder erforderlichen Ausgangszeile entspricht. Dies wird durch wiederholtes ab­ wechselndes Selektieren der ganzen Zahl unterhalb 16X/W und der ganzen Zahl oberhalb 16X/W für verschie­ dene Zeiten erreicht. Ein Vier-Phasenzyklus wird bei jeder zweimal auftretenden ganzen Zahl und bei unter­ schiedlicher Anzahl von Wiederholungen in jeder Phase verwendet. Werden die Anzahlen der Wiederholungen durch die Zahlen N₀, N₁, N₂ und N₃ und die ganze Zahl unter 16 X/W durch M dargestellt, dann kann die Annäherung wie folgt dargestellt werden:
Ein besonderer Fall tritt ein, wenn 16 X/W selbst eine ganze Zahl ist; dann wird nur eine einzige Zahl benutzt, und die Anzahl der Wiederholungen ist belanglos.
Der Normierer ist in Fig. 27 dargestellt. Das Satzbreiteregister enthält den konstanten Wert der durch den Computer gelieferten Breite. Dieser wird zur Adressierung zweier PROM-Nachschlagtabellen benutzt. Eine enthält die Anzahl der Linien (M) zwischen jeder Ausgangslinie, die die ganzen Zahlen unterhalb und oberhalb des erforderlichen Bruchs sind. Das weniger bedeutende der zwei Bits, das die Phasenzahl (P) definiert, wird in der Adresse verwendet, um zwischen den zwei ganzen Zahlen für jeden Satzbreitenwert zu wählen. Die andere Tabelle enthält die Anzahl der Wiederholungen (N). Diese wird zusätzlich durch die beiden Bits der Phasenzahl adressiert, so daß verschiedene Anzahlen von Wiederholungen in allen vier Phasen möglich sind.
Der Ausgang von der Linienzahl-Tabelle wird durch einen Addierer geschickt und getrennt, wobei die 4 unbedeutendsten Bits in der Restverriegelung bleiben und die vier wichtigsten Bits in den Linienzähler einge­ bracht werden. Der Wert (L) im Linienzähler entspricht der Linienzahl bei der Vektorauflösung zwischen jedem aufeinanderfolgenden Ausgang, da das Abstreifen der vier unbedeutendsten Bits effektiv durch 16 teilt. Der Ausgang von der Tabelle der Zahl der Wiederholungen wird dem Wiederholungs-Zähler zugeführt, wenn seine Zählung (R) Null erreicht. Der in der Tabelle gespeicherte Wert ist also eins weniger als die Anzahl der erforderlichen Wiederholungen.
Der Betrieb des Normierers ist durch das Flußdiagramm in Fig. 28 dargestellt. Der Normierer wird zu Beginn eines jeden Schriftzeichens ausgelöst und dann in einzelne Zyklen getriggert, und zwar auf Anforderung von der Hauptsteuerungseinrichtung, welche ihrerseits das Steuersignal "Ausgabe-Linie" abtastet.
Die Verwendung des Normierers innerhalb der Kodeumwandlungs-Verarbeitungsvorägnge ist durch das Flußdiagramm von Fig. 24 dargestellt. Der Normierer wird am Ende der Verarbeitung einer jeden Rasterlinie des Schriftzeichens und nach Absendung der Werte für jede Ausgangsabtastung zyklisch wiederholt. Der abgestastete Zustand des Ausgabe-Linie-Signals bestimmt, welche Linie gebildet wird. Es folgt, daß jeder Zyklus eines Normierers nach einer Rasterlinienberechnung den Linienzähler vermindert und jeder Zyklus eines Normierers nach einem Ausgabevorgang den Linienzähler auflädt. Bei kleinen Punktgrößen wird die "Nein"-Schleife häufiger benutzt, da mehrere Rasterlinien zwischen den Ausgabelinien auftreten. Bei großen Punktgrößen jedoch wird die "Ja"-Schleife häufiger verwendet, da mehrere Ausgabelinien zwischen den Raster­ linien auftreten.
Die Interpolationsadresse wird einfach durch die zwei bedeutsamsten Bits der Restverriegelung geliefert. Dies deutet an, welche der Interpolationsleitungen erforderlich ist.
Der durchschnittliche Maßstabsfaktor bestimmt das den δ y-Werten beim Aufbau des Korrekturausdrucks gegebene "Gewicht". Das Wichten hängt von der Gesamtzahl der Werte ab, deren Durchschnitt zu ermitteln ist, und welches spezielle w y innerhalb des Gesamtwerts verarbeitet wird. Bei kleinen Ausgangsgrößen, bei denen Durchschnittsermittlung verwendet wird, ist eine sehr hohe Genauigkeit unnötig. So werden nur zwei Bits verwendet, um die Gesamtzahl der Werte zu definieren (wobei der Linienzähler-Eingang das am wenigsten bedeutsame Bit ignoriert), und der Ausgang des Linienzählers bestimmt, welches spezielle δ y verarbeitet wird. Eine PROM-Nachschlagtabelle wird durch diese sechs Leitungen adressiert, und 1 von 8 Skalenfaktoren wird ausgewählt.
Interpolierter Ausgang
Bei Punktgrößen, bei denen Interpolation verwendet wird, gibt der Kodeumwandler Werte aus, die aus direkter Inerpolation zwischen den Rasterlinien errechnet sind. Dieser Interpolationsprozeß ist in Fig. 25 dargestellt.
Der Interceptspeicher 120 hält den absoluten Y-Wert des Endes des laufenden Vektors. Ein Δ Y-Speicher 124 hält die Differenz zwischen dem Abfangwert und dem Y-Wert bei der letzten Rasterlinie. Der Normierer 136 liefert eine Interpolationsadresse an den Interpolations-PROM 132, die mit δ y auch vom Vektorsteigungs- PROM 129 geliefert wird. Der Ausgang des Interpolations-PROM 132, w y₁, ist ein Teil des für die Inerpolations­ stelle erforderlichen δ y. Dies wird durch den Addierer 134 von Δ Y subtrahiert und erscheint auf der D-Leitung. Es wird dem Akkumulator 128 über die A-Leitung zugeleitet, und die B-Leitung trägt den Ausgang des Abfangspeichers 120. Dei C-Leitung überträgt den korrekten Ausgangswert zum Ausgangspuffer 138.
Der Ausgangspuffer hält den errechneten Wert, bis der Schriftzeichengenerator anzeigt, daß er fertig ist, es zu empfangen. Die Serienübertragung wird dann durchgeführt, und die nächste Ausgangsberechnung kann begin­ nen. Ist der übertragene Wert der für den höchsten laufenden Umriß, dann kennzeichnet der Kodeumwandler den Schriftzeichengenerator nach der Übertragung auf der ENDSC-Steuerleitung.
Durchschnitts-Ausgang
Bei kleinen Punktgrößen, bei denen mehr als drei Rasterlinien zwischen jeder Ausgabelinie liegen, kann ein Durchschnittsalgorithmus verwendet werden, um die Ausgabe-Y-Werte zu erreichen. Für diesen Zweck wird der Korrekturspeicher 130 verwendet. Dieser Speicher hält einen Korrekturwert, der für den Wert im Intercept­ speicher 120 angewandt wird, um den Ausgabewert zu erzeugen. Das Mittelwertverfahren ignoriert Interpola­ tionslinienadressen und liefert Ausgaben nur auf Integralrasterlinienwert.
Die Berechnung basiert auf der Gleichung für das arithmetische Mittel der Werte Y₀ bis Y n-1; es gilt
Der Ausdruck in den eckigen Klammern ist der Korrekturausdruck. Der Durchschnitt wird herausgearbeitet, indem die Y-Werte auf jeder Rasterlinie berücksichtigt werden und deren Durchschnitt zwischen den Ausgabeli­ nien errechnet wird. n-1 wird also die Anzahl der Rasterlinien zwischen den Ausgabelinien, und die unter­ schiedlichen Ausdrücke sind dann die δ y-Ausgänge aus dem Vektorneigungs-PROM 129.
Die Anwendung der Gleichung ist in Fig. 29 veranschaulicht, in der die Ausgabelinie bei G₃ zu berechnen ist. Der Umschaltspeicher enthält den Wert Y für das Vektorende auf G₅ den ganzen Vorgang hindurch.
Es gilt also:
Y n = Y-Δ Y (Umschaltspeicher minus Y-Speicher)
Y₀-Y₁ = δ y₀(Vektorneigungs-PROM-Ausgang auf G₁)
Y₁-Y₂ = δ y₁(Vektorneigungs-PROM-Ausgang auf G₂)
Y₂-Y₃ = δ y₂(Vektorneigungs-PROM-Ausgang auf G₃)
n = 3
Durchschnitt Y für die Zeilen
Der Korrektur-PROM 140 nimmt den δ y-Ausgang des Vektorneigungs-PROMs 129 und multipliziert ihn mit einem Faktor annähernd gleich dem entsprechenden vorausgehenden Bruch. Dies wird durch einen kleineren PROM ausgewählt, den Faktorauswähl-PROM, im Normierer 136, der durch die Anzahl von Rasterlinien zwischen den Ausgabelinien (dem Teiler) und der laufenden Linienzahl (dem Dividend) adressiert wird. Der Drei-Bit-Kode, der acht Skalenfaktoren ergibt, wird durch den Faktorauswähl-PROM an den Korrektur-PROM abgegeben.
Der Korrekturausdruck wird aufgebaut, indem der Ausgang eines Korrektur-PROMs 140 in den Korrektur­ speicher 130 addiert wird. Dieser Speicher wird jedesmal aufgelöst, wenn eine Ausgabelinie vorhanden ist und beginnt dann mit dem Aufbau der Korrektur für die nächste Ausgabe. Der PROM-Ausgang auf der B-Leitung wird stets dem Korrekturspeicherausgang auf der A-Leitung durch den Akkumulator addiert. Der Wert im Korrekturspeicher ändert sein Vorzeichen, sobald der Umriß eines Quadranten ändert. Der Korrekturspeicher besteht nur aus acht Bits, er ignoriert jedoch das unbedeutendste Bit der C-Leitung, da bei den kleinen Punktgrößen, bei denen er arbeitet, diese Genauigkeit unnötig ist. Auf diese Art hat er effektiv neun Bits, und er hat einen Überlauf, der ihn im Falle sehr großer Verschiebungen begrenzt.
Der im Interceptspeicher 120 gehaltene Wert ist üblicherweise nicht das Yn der obigen Gleichung, sondern das Ende des laufenden Vektors. Unmittelbar vor dem Ausgang wird also der Korrekturspeicher durch das laufende Δ Y justiert, so daß Diskrepanzen auftreten können.
Der Ausgabewert wird schließlich im Akkumulator 128 errechnet, indem der Ausgabespeicherausgang auf der A-Leitung und der Interceptausgang auf der B-Leitung verwendet werden. Die C-Leitung überträgt den korrek­ ten Ausgabewert zum Ausgangspuffer 138.
Wie oben erwähnt, hält der Ausgabepuffer den errechneten Wert, bis der Schriftzeichengenerator andeutet, daß er empfangsbereit ist. Die Serienübertragung wird dann durchgeführt, und die nächste Ausgabeberechnung kann beginnen. Ist der übertragene Wert der für den höchsten laufenden Umriß, dann kennzeichnet der Kodeumwandler den Schriftzeichengenerator nach der Übertragung auf der ENDSC-Steuerleitung.

Claims (24)

1. Verfahren zum Kodieren und Speichern von Schriftzeichen als speicherbare digitale Daten, die für jedes abzu­ bildende Schriftzeichen in einem Normalraster die ersten und zweiten Koordinaten von Ausgangspunkten zweier Um­ rißlinien bezogen auf den Ursprung des Normalrasters als Digitalzahl definieren und anschließend eine Vielzahl geradliniger, sich aufeinanderfolgend entlang des Schriftzeichenumrisses von dem Ausgangspunkt aus er­ streckender Vektoren als Digitalzahlen definieren, dadurch gekennzeichnet, daß für jedes Schriftzeichen
  • a) digtale Signale erzeugt werden, welche die Ausgangs­ punkte (X 1, Y 1, X 2, Y 2) beider Umrißlinien bezogen auf den Ursprung des Normalrasters darstellen,
  • b) digitale Signale entsprechend eines ersten maximierten Koordinatenabstands von einem Ende eines der Vektoren zum anderen Ende sowie entsprechend einem zweiten zugeordneten Koordinatenabstand dieses Vektors erzeugt werden,
  • c) und daß die gemäß den Merkmalen a) und b) erzeugten Signale in einer vorgegebenen Folge zu einem sequentiellen Zugriff gespeichert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die größte Länge eines jeden aufeinanderfolgenden Vektors durch vorgegebene Grenzen für erste und zweite digitale Daten, die diesen Vektor definieren, begrenzt wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der vorgegebene Abstand von dem Verhältnis des ersten Koordinatenabstands und des zweiten Koordinaten­ abstands von dem einen Vektorende zum anderen abhängig gemacht wird.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der vorgegebene Abstand gleich dem Abstand zwischen aufeinanderfolgenden Koordinaten mindestens der ersten und zweiten Koordinaten ist.
5. Verfahren nach Anspruch 1, gekennzeichnet durch den weiteren Schritt der Auswahl je einer oberen Grenze für die ersten und die zweiten digitalen Daten.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Abstände zwischen aufeinanderfolgenden ersten und zweiten Koordinaten gleich sind und daß die oberen Grenzen für die ersten und die zweiten digitalen Daten gleich sind.
7. Verfahren nach Aspruch 5, dadurch gekennzeichnet, daß durch die obere Grenze jeweils für die ersten und zweiten digitalen Daten die Gesamtmenge der gespeicherten, ein Schriftzeichenalphabet mit einer gegebenen Auflösung definierenden Daten minimiert wird.
8. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß jede der ersten und der zweiten digitalen Daten als eine 4-Bit-Binärzahl gespeichert wird und daß jeder Vektor als ein Datenbyte gespeichert wird.
9. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß jede der ersten und der zweiten digitalen Daten als 8-Bit-Binärzahl gespeichert wird und daß jeder Vektor als ein Datenwort aus den ersten und zweiten digitalen Daten gespeichert wird.
10. Schriftspeicher, insbesondere Floppy Disk, mit als digitale Daten gespeicherten Schriftzeichen, wobei die Daten für jedes abzubildende Schriftzeichen in einem Normalraster die ersten und zweiten Koordinaten von Ausgangspunkten zweier Umrißlinien bezogen auf den Ursprung des Normalrasters als Digitalzahl definieren und anschließend eine Vielzahl geradliniger, sich auf­ einanderfolgend entlang des Schriftzeichenumrisses von dem Ausgangspunkt aus erstreckender Vektoren als Digital­ zahlen definieren, dadurch gekennzeichnet, daß der Schriftspeicher für jedes Schriftzeichen
  • 1a) digtale Daten speichert, welche die ersten und die zweiten Koordinaten der Ausgangspunkte (X₁), Y 1, X 2, Y 2) mindestens der beiden Umrisse eines der Schrift­ zeichen definieren, und
  • 1b) digitale Daten speichert, welche die sich aufeinander­ folgend entlang der Umrisse von den Ausgangspunkten erstreckenden Vektoren für je einen Vektor als erste digitale Daten, in welche ein erster Koordinaten­ abstand von einem zum anderen Vektorende kodiert ist, und als zweite digitale Daten, in welche ein zweiter Koordinatenabstand von einem Vektorende zum anderen kodiert ist, beinhalten.
11. Schriftspeicher nach Anspruch 10, dadurch gekennzeichnet, daß die digitalen Daten in einer vorgegebenen Folge gespeichert sind, in der die Daten vorbestimmten Umriß­ linien zugeordnet sind.
12. Schriftspeicher nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß jede der ersten und der zweiten digitalen Daten als eine 4-Bit-Binärzahl gespeichert ist und daß jeder Vektor als ein Datenbyte gespeichert ist.
13. Schriftspeicher nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß jede der ersten und der zweiten digitalen Daten als 8-Bit-Binärzahl gespeichert ist und daß jeder Vektor als ein Datenwort aus den ersten und zweiten digitalen Daten gespeichert ist.
14. Schriftspeicher nach einem der Ansprüche 10-13, dadurch gekennzeichnet, daß zu den Daten mindestens einiger der Schriftzeichen weiterhin je ein Steuerkode abgespeichert ist, der ein Ende des Schriftzeichens definiert.
15. Chriftspeicher nach einem der Ansprüche 10-13, dadurch gekennzeichnet, daß zu den Daten mindestens einiger der Schriftzeichen weiterhin mindestens je ein Steuerkode gespeichert ist, der eine der folgenden Steuerfunktionen beinhaltet:
  • 1. Beginn zweier neuer Schrifzeichenumrisse,
  • 2. Ende zweier Schriftzeichenumrisse.
16. Schriftspeicher nach einem der Ansprüche 10-15, dadurch gekennzeichnet, daß zu den Daten mindestens einiger der Schriftzeichen weiterhin ein Steuerkode gespeichert ist, der einen gespeicherten Vektor durch Addition eines vorgegebenen Werts zu einer ersten oder einer zweiten Digitalzahl als erste oder zweite digitale Daten modifiziert.
17. Schriftspeicher nach einem der Ansprüche 10-16, dadurch gekennzeichnet, daß zu den Daten mindestens einiger der Schriftzeichen ein Steuerkode gespeichert ist, welcher spezifiziert, daß der Anfang eines Vektors vom Ende des vorausgehenden Vektors entlang der ersten oder der zweiten Koordinate um einen gegebenen Wert verschoben ist.
18. Schriftspeicher nach einem der Ansprüche 10-17, dadurch gekennzeichnet, daß zu den Daten mindestens einiger der Schriftzeichen ein Steuerkode gespeichert ist, welcher spezifiziert, daß ein Übergang von einem Vektor zu einem folgenden Vektor in einen anderen Quadranten auftritt.
19. Schriftspeicher nach einem der Ansprüche 10-18, dadurch gekennzeichnet, daß die digitalen Daten, welche die ersten und zweiten Koordinaten eines Ausgangspunkts definieren, vor den digitalen Daten gespeichert sind, die die sich von diesem Ausgangspunkt erstreckenden Vektoren definieren.
20. Schriftspeicher nach einem der Ansprüche 10-19, dadurch gekennzeichnet, daß die die ersten und zweiten Koordinaten der Ausgangs­ punkte definierenden digitalen Daten in einer Reihen­ folge von niedrigen nach hohen Werten der ersten und der zweiten Koordinaten gespeichert sind.
21. Schriftspeicher nach einem der Ansprüche 10-20, dadurch gekennzeichnet, daß die die Vektoren definierenden digitalen Daten in der Reihenfolge der Zunahme der ersten oder der zweiten Koordinate des Anfangs eines jeden Vektors gespeichert sind.
22. Schriftspeicher nach einem der Ansprüche 10-21, dadurch gekennzeichnet, daß die die Vektoren definierenden digitalen Daten so aufeinanderfolgend gespeichert sind, daß die Vektoren einer gesamten Kette (Zeichenfolge) den Vektoren einer anderen Kette (Zeichenfolge) folgen.
23. Schriftspeicher nach einem der Ansprüche 10-22, dadurch gekennzeichnet, daß der Schriftspeicher als fest unterteilte Magnet­ scheibe zur Speicherung der Daten mindestens eines Schriftzeichenalphabets ausgebildet ist, daß auf einer bestimmten Spur und in einem bestimmten Sektor ein Schriftindex aufgezeichnet ist, der eine Anfangsspur und eine Sektoradresse wenigstens des einen Schrift­ zeichenalphabets beinhaltet.
24. Schriftspeicher nach Anspruch 23, gekennzeichnet durch eine Magnetscheibe, auf der die mindestens ein Schrift­ zeichenalphabet definierenden Daten als eine ver­ bundene Zeichenfolge mit Kettungsadresse am Ende eines jeden Sektors gespeichert sind, die die Adresse der nächstfolgenden Spur und des Sektors, in der die Schrift­ daten weiterfolgen, definiert.
DE19792919013 1978-05-12 1979-05-11 Verfahren zum kodieren von schriftzeichen und nach diesem verfahren arbeitende speichereinrichtung in einem setzgeraet Granted DE2919013A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/905,451 US4199815A (en) 1978-05-12 1978-05-12 Typesetter character generating apparatus

Publications (2)

Publication Number Publication Date
DE2919013A1 DE2919013A1 (de) 1979-12-06
DE2919013C2 true DE2919013C2 (de) 1989-04-27

Family

ID=25420841

Family Applications (3)

Application Number Title Priority Date Filing Date
DE2954383A Expired DE2954383C2 (de) 1978-05-12 1979-05-11
DE19792919013 Granted DE2919013A1 (de) 1978-05-12 1979-05-11 Verfahren zum kodieren von schriftzeichen und nach diesem verfahren arbeitende speichereinrichtung in einem setzgeraet
DE2953600A Expired DE2953600C2 (de) 1978-05-12 1979-05-11 Setzgerät zur automatischen Generierung von Schriftzeichen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE2954383A Expired DE2954383C2 (de) 1978-05-12 1979-05-11

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE2953600A Expired DE2953600C2 (de) 1978-05-12 1979-05-11 Setzgerät zur automatischen Generierung von Schriftzeichen

Country Status (8)

Country Link
US (1) US4199815A (de)
JP (6) JPS54149522A (de)
CA (3) CA1105619A (de)
DE (3) DE2954383C2 (de)
FR (1) FR2425677B1 (de)
GB (2) GB2089179B (de)
IT (1) IT1116588B (de)
SE (3) SE446705B (de)

Families Citing this family (57)

* 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
JPS5727343Y2 (de) * 1979-02-02 1982-06-14
US4307377A (en) * 1979-11-09 1981-12-22 Bell Telephone Laboratories, Incorporated Vector coding of computer graphics material
US4491836A (en) * 1980-02-29 1985-01-01 Calma Company Graphics display system and method including two-dimensional cache
US4492956A (en) * 1980-02-29 1985-01-08 Calma Company Graphics display system and method including preclipping circuit
GB2074259B (en) * 1980-04-12 1983-08-17 Automotive Prod Co Ltd Rotation sensitive drum brake
GB2082014B (en) * 1980-06-30 1985-05-09 Canon Kk Facsimile apparatus with character generator
US4331955A (en) * 1980-08-07 1982-05-25 Eltra Corporation Method and apparatus for smoothing outlines
JPS5739963A (en) * 1980-08-22 1982-03-05 Photo Composing Mach Mfg Co Ltd Memorizing method for character, figure and the like and photocomposing device
US4404554A (en) * 1980-10-06 1983-09-13 Standard Microsystems Corp. Video address generator and timer for creating a flexible CRT display
JPS57169791A (en) * 1981-04-10 1982-10-19 Shaken Kk Method of memorizing character and figure and phototypesetter
US4566126A (en) * 1982-04-30 1986-01-21 Fuji Electric Company, Ltd. Pattern discriminator
US4550438A (en) * 1982-06-29 1985-10-29 International Business Machines Corporation Retro-stroke compression and image generation of script and graphic data employing an information processing 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
JPS5949071A (ja) * 1982-09-13 1984-03-21 Dainippon Screen Mfg Co Ltd 図形輪郭デ−タ圧縮方法
JPS5949655A (ja) * 1982-09-14 1984-03-22 Dainippon Screen Mfg Co Ltd 2値図形パターンの輪郭データ作成方法
JPS59101969A (ja) * 1982-12-01 1984-06-12 Dainippon Screen Mfg Co Ltd 2値画像パタ−ンのデ−タ処理方法及び装置
US4783829A (en) * 1983-02-23 1988-11-08 Hitachi, Ltd. Pattern recognition apparatus
DE3317842A1 (de) * 1983-05-17 1984-12-06 Mergenthaler Linotype Gmbh, 6236 Eschborn Graphisches reproduktions- und seztverfahren von schriftzeichen
EP0131676B1 (de) * 1983-07-04 1989-08-02 URW Software & Type GmbH Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
JPS6075978A (ja) * 1983-10-03 1985-04-30 Photo Composing Mach Mfg Co Ltd 文字画像デ−タの処理方法
JPH0613212B2 (ja) * 1983-10-03 1994-02-23 株式会社写研 文字画像デ−タの処理方法
DE3572783D1 (en) * 1984-02-21 1989-10-12 Hell Rudolf Dr Ing Gmbh Method and device for recording characters
DE3419140A1 (de) * 1984-05-23 1985-11-28 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Verfahren zur omnidirektionalen merkmalserkennung in einem sensorsehfeld
US4674059A (en) * 1984-09-10 1987-06-16 Allied Corporation Method and apparatus for generating a set of signals representing a curve
DE3585064D1 (de) * 1984-09-10 1992-02-13 Linotype Co Verfahren und geraet zur erzeugung eines satzes von eine kurve darstellenden signalen.
US4688182A (en) * 1984-09-10 1987-08-18 Allied Corporation Method and apparatus for generating a set of signals representing a curve
DE3585902D1 (de) * 1984-09-10 1992-05-27 Linotype Co Verfahren zur erzeugung eines satzes von eine kurve darstellenden signalen.
EP0191134B1 (de) * 1984-09-10 1991-12-18 Linotype Company Verfahren zur Erzeugung eines Satzes von eine Kurve darstellenden Signalen
US4686633A (en) * 1984-09-10 1987-08-11 Allied Corporation Method and apparatus for generating a set of signals representing a curve
US4686632A (en) * 1984-09-10 1987-08-11 Allied Corporation Method and apparatus for generating a set of signals representing a curve
US4686634A (en) * 1984-09-10 1987-08-11 Allied Corporation Method and apparatus for generating a set of signals representing a curve
US4686636A (en) * 1984-09-10 1987-08-11 Allied Corporation Method and apparatus for generating a set of signals representing a curve
US4686635A (en) * 1984-09-10 1987-08-11 Allied Corporation Method and apparatus for generating a set of signals representing a curve
JPH078559B2 (ja) * 1985-08-22 1995-02-01 大日本印刷株式会社 ディスプレイ上での文字書体指定方法
JPS6280058A (ja) * 1985-10-03 1987-04-13 Canon Inc 画像処理装置
US5365599A (en) * 1985-10-07 1994-11-15 Canon Kabushiki Kaisha Method and system of converting delineative pattern
JPS6282484A (ja) * 1985-10-07 1987-04-15 Canon Inc 線形図形の変換方法
JPS62202274A (ja) * 1986-02-28 1987-09-05 Nec Yamagata Ltd 電子機器の文字形状記憶方法
US4897638A (en) * 1987-02-27 1990-01-30 Hitachi, Ltd. Method for generating character patterns with controlled size and thickness
US4949281A (en) * 1987-04-23 1990-08-14 H. Berthold Ag Method and apparatus for generating and producing two-dimensional graphic object by polynominal parametric curves
JPH01181173A (ja) * 1988-01-14 1989-07-19 Toshiba Corp ベクトルフォント輪郭描画方式
JP2634851B2 (ja) * 1988-04-28 1997-07-30 シャープ株式会社 画像処理装置
JP2650324B2 (ja) * 1988-06-02 1997-09-03 株式会社リコー 多値文字フォント発生システム
ES2007960A6 (es) * 1988-07-12 1989-07-01 Ona Electro Erosion Sistema de generacion en dos dimensiones de la geometria de un modelo por medio de vision artificial.
US5018217A (en) * 1988-09-26 1991-05-21 Brother Kogyo Kabushiki Kaisha Data converting apparatus having means for changing ornamental stroke end data of character outline
US5261032A (en) * 1988-10-03 1993-11-09 Robert Rocchetti Method for manipulation rectilinearly defined segmnts to form image shapes
AU624137B2 (en) * 1988-10-03 1992-06-04 Sun Microsystems, Inc. Method and apparatus for image manipulation
US5086482A (en) * 1989-01-25 1992-02-04 Ezel, Inc. Image processing method
JP2752439B2 (ja) * 1989-06-20 1998-05-18 株式会社リコー 画像出力方法
JPH03224073A (ja) * 1990-01-30 1991-10-03 Ezel Inc 位置合わせ装置
WO1991013427A1 (en) * 1990-02-27 1991-09-05 Seiko Epson Corporation Method of generating dot signal corresponding to character pattern and device therefor
JPH03296092A (ja) * 1990-04-16 1991-12-26 Ricoh Co Ltd 画像表示装置
US5245679A (en) * 1990-05-11 1993-09-14 Hewlett-Packard Company Data field image compression
DE69328811T2 (de) * 1992-10-20 2001-01-11 Network Computing Devices Inc Opcode abhängige Komprimierung für ein Window-System.
US6295378B1 (en) 1996-02-29 2001-09-25 Sanyo Electric Co., Ltd. Handwriting stroke information encoder which encodes handwriting stroke information by sampling
US8121338B2 (en) 2004-07-07 2012-02-21 Directsmile Gmbh Process for generating images with realistic text insertion

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3050581A (en) * 1960-08-30 1962-08-21 Bell Telephone Labor Inc Line tracing system
US3305841A (en) * 1963-09-30 1967-02-21 Alphanumeric Inc Pattern generator
US3735389A (en) * 1970-02-24 1973-05-22 Zeta Research Digital graphic display apparatus, system and method
BE791200R (fr) * 1971-11-12 1973-03-01 Western Electric Co Appareil et procede pour transformer des informations numeriques en images graphiques et pour les
US3800183A (en) * 1972-06-08 1974-03-26 Digital Equipment Corp Display device with means for drawing vectors
US4029947A (en) * 1973-05-11 1977-06-14 Rockwell International Corporation Character generating method and system
JPS5341017B2 (de) * 1973-06-06 1978-10-31
US3946365A (en) * 1973-12-13 1976-03-23 Bantner John A Graphic symbol generator

Also Published As

Publication number Publication date
FR2425677A1 (fr) 1979-12-07
CA1105619A (en) 1981-07-21
CA1105620A (en) 1981-07-21
JPS61258285A (ja) 1986-11-15
DE2954383C2 (de) 1987-07-02
GB2089179B (en) 1982-12-08
IT1116588B (it) 1986-02-10
DE2953600C2 (de) 1985-06-27
DE2919013A1 (de) 1979-12-06
SE7904009L (sv) 1979-11-13
SE8502470D0 (sv) 1985-05-20
JPS59170883A (ja) 1984-09-27
SE456050B (sv) 1988-08-29
SE446705B (sv) 1986-10-06
GB2089179A (en) 1982-06-16
SE8502470L (sv) 1985-05-20
IT7948998A0 (it) 1979-05-10
JPS59176048A (ja) 1984-10-05
JPS54149522A (en) 1979-11-22
GB2020520B (en) 1982-11-17
SE8501905D0 (sv) 1985-04-18
JPH021787U (de) 1990-01-08
FR2425677B1 (fr) 1985-05-31
CA1121056A (en) 1982-03-30
JPH0224895U (de) 1990-02-19
US4199815A (en) 1980-04-22
GB2020520A (en) 1979-11-14
SE456049B (sv) 1988-08-29
DE2954383A1 (de) 1985-03-21

Similar Documents

Publication Publication Date Title
DE2919013C2 (de)
DE2754270C2 (de)
DE3440377C2 (de)
DE2940897C2 (de) Digitales Setzgerät
DE2760260C2 (de) Vorrichtung zum Anzeigen eines gerasterten Bildes
DE2755728C3 (de) Kathodenstrahlröhren-Anzeigegerät
DE2264090C3 (de) Datenverdichtung
DE3831427C2 (de)
DE2706080C2 (de) Verfahren zur adaptiven Quantisierung von Transformationskoeffizienten eines Bildes und Anordnung zum Durchführen des Verfahrens
EP0153584B1 (de) Verfahren und Einrichtung zum Aufzeichnen von Schriftzeichen
DE2459106C2 (de) Schaltungsanordnung zur Darstellung von Zeichen auf einem Bildschirm mittels eines Kathodenstrahls
DE3804450A1 (de) Verfahren zur konturabtastung und anordnung dafuer
DE2950712A1 (de) Einrichtung zur erzeugung eines elektronischen hintergrundrasterfeldes
DE2724108A1 (de) System zur optischen wiedergabe von symbolen, zeichen und darstellungen, insbesondere fuer layout von anzeigen in zeitungen u.dgl.
DE2927413A1 (de) Elektronenstrahl-belichtungsvorrichtung
DE3326583C2 (de)
DE2823965A1 (de) Verfahren und anordnung zum erstellen eines aesthetisch ansprechenden schriftbildes in speicherdruckwerken, insbesondere in speicherschreibmaschinen
DE1913502A1 (de) Datengesteuerter Schriftzeichengenerator
DE4038056A1 (de) Verfahren zur generierung und speicherung von digitalisierten dichte-schwellwerten zur rasterung einer halbton-bildvorlage
DE1907966A1 (de) Phototypsetzvorrichtung
DE3720393A1 (de) Antriebsvorrichtung fuer einen thermodruckkopf eines bilddruckers
EP0050786B1 (de) Verfahren und Schaltungsanordnung zur Transformation der Zeichenbreite von Schriftzeichen
DE3727804C2 (de)
DE2613643A1 (de) Drucker
DE4022772A1 (de) Verfahren zur generierung und speicherung von digitalisierten dichte-schwellwerten zur rasterung einer halbton-bildvorlage

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
OI Miscellaneous see part 1
OI Miscellaneous see part 1
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

AH Division in

Ref country code: DE

Ref document number: 2953600

Format of ref document f/p: P

8127 New person/name/address of the applicant

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

8128 New person/name/address of the agent

Representative=s name: DANNENBERG, G., DIPL.-ING., 6000 FRANKFURT WEINHOL

AH Division in

Ref country code: DE

Ref document number: 2953600

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee