METHOD AND SYSTEM FOR TRANSFORMING THE WIDTHS OF CHARACTERS

Abstract: 1. A method of transforming the character breadth, measured in raster element intervals, for the representation of graphic characters in different reproduction devices, characterised in that when the computed value of the character breadth in the first reproduction device is not a whole number, the actual breadth of the reproduced graphic character is reduced to the next lower whole numbered value, that the differences between the actual value and the computed value of the character breadth are added to form an error sum and that a raster element interval is inserted between two consecutive graphic characters as soon as the error sum reaches or has exceeded the value of "one", where any amount which exceeds the value "one" is included in the continued error addition.

Description: Verfahren und Schaltungsanordnung zur TransformaiLon der Zeichenbreite von Schriftzeichen. Die Erfindung betrifft ein Verfahren zur Transformation der in Rasterabständen gemessenen Zeichenbreite bei der Darstellung von Schriftzeichen in unterschiedlichen Wiedergabegeräten, sowie eine Anordnung zur Durchfuhrung des Verfätuiens. Unter Schriftzeichen sollen im folgenden Buchstaben eines Alphabets, Satzzeichen, Ziffern und Sonderzeichen, sowie Wortabstände (Leerzeichen) verstanden werden. Es ist häufig notwendig, Schriftgut auf verschiedenen Geräten auszugeben. Beispielsweise wird ;bei Schreibautomaten das eingetastete Schriftgut zunächst auf einem Bildschirm angezeigt und erst anschliessend ausgedruckt. Dabei finden Drucker verschiedener Geschwindigkeit und Zeichenauflösung Anwendung. Um den Gesamteindruck des Schriftgutes auf allen Wiedergabegeräten möglichst unverändert beizubehalten, mi:is- sen alle Geräte mit der gleichen oder mit einer in einem festen Verhältnis zueinander stehenden Auflösung der Zeichen arbeiten. Dies ist besonders wichtig, wenn-das Schriftgut Tabellen und ähnliche Zusammenstellung enthält, bei denen auch eine spaltenweise Zuordnung von Schriftzeichen wesentlich ist. Bei den hier in Betracht gezogenen Wiedergabegeräten sind die Schriftzeichen in ihrer ohe und Breite in feste Rasterabstände eingeteilt. Ein typischer Vertreter eines druckenden Wiedergabegeräte solcher Art ist der bekannte Nadeldrucker. Bei Bildschirmen und Druckernist sowohl die Zeilenlänge als auch die maximale Zahl der Rasterpunkte bzw. der Rasterabstände in einer Reihe vorgegeben. Eine volle Zeile bei einem Widergabegerät soll möglichst auch durch das andere Widergabegerät als volle Zeile abgebildet werden. In den meisten Fällen stehen jedoch die entsprechenden Zahlen der Rasterabstände nicht in einem ganzzahligen Verhältnis. Das gilt sowohl für ein Schriftbild, bei dem jedem Zeichen (auf einschliesslich den beidseitigen Anteilen am Zeichenabstand ) die gleiche Anzahl von Rasterabständen zugeordnet ist, als auch für die sogenannte Proportionalschrift, die im Buchdruck seit langem üblich ist und unterschiedliche Zeichenbreiten verwendet. Sie soll den weiteren Betrachtungen, die auch für Typendrucker gelten, zugrundeliegen. Es ist die Aufgabe der Erfindung, ein Verfahren der eingangs genannten Art anzugeben, bei dem der Gesamteindruck des wiedergegebenen Schriftbildes möglichst wenig beeinträchtigt wird. Ferner soll eine Anordnung zur Durchfüiirg des Verfahrens vorgestellt werden. Gemäss der Erfindung wird der erste Teil der Aufgabe mit Hilfe der Merkmale im kennzeichnenden Teil des Patentanspruchs 1 gelöst. Die Lösung des zweiten Teils der Aufgabe ergibt sich aus dem Patentanspruch 2. Im folgenden wird die Erfindung näher beschrieben0 Aus fuhrungsbeispiele für eine Schaltungsanordnung zur Durchführung des erfindungsgemässen Verfahrens sind in der Zeichnung dargestellt. Es zeigt darin Fig. 1 eine Übersicht über die Schaltungsanordnung zur Transformation der Zeichenbreite, Fig. 2 ein erstes Ausführungsbeispiel, Fig. 3 ein Zeitdiagrarnm zu dem Ausführungsbeispiel nach Fig. 1, Fig. 4 ein weiteres Ausfuk;rungsbei spiel, Fig. 5 eine Tabelle über die Zuordnung von Adressen und Inhalten des Korrekturspeichers. Der nachstehenden Beschreibung liegt als Beispiel folgender Sachverhalt zugrunde: Ein Text in Proportionalschrift soll durch einen Drucker und auf einem Bildschirm wiedergegeben werden. Die Schriftzeichen sind so gestaltet, dass sich beim Drucken Zeichenbreiten von drei RasterabstXnden bis zu acht Rasterab- ständen mit allen ganzzahligen Zwischenwerten ergeben. Es sei ferner angenommen, dass eine Druckzeile maximaler Länge 480 Rasterabständen entspricht, während eine Zeile auf dem Bildschirm in 640 Rasterabstände eingeteilt ist. In beiden Fällen sind für diese Werte technische Gründe massgebend, auf die hier nicht näher einzugehen ist. Die Breiten der Schriftzeichen stehen also in den beiden Wiedergabegeräten zueinander in einem Verhältnis von 3:4, wenn der Gesamteindruck der Schriftbilder in beiden äl- len der gleiche sein soll, was vorausgesetzt wurde. Gemessen jeweils in Rasterabständen ergeben sich daraus Rechenwerte für die Zeichenbreite. Drucker Bildschirm 3 4 4 5 1/3 5 6 2/3 6 8 7 9 1/3 8 10 2/3 Da jedoch für die Darstellung von Schriftzeichen nur ganze Rasterabstände verwertbar sind, wird bei nichtganzzahligen rechnerischen Werten für die Zeichenbreite der nächstniedrige ganzzahlige Wert benützt. In dem gewählten Beispiel kommen daher für die Anzeige auf dem Bildschirm Zeichenbreiten von 4,5,6,8,9 und 10 Rasterabständen in Frage. Die dabei entstehenden Fehler, d. h. die Unterschiede zwischen den Rechenwerten und der Breite der tatsächlich dargestellten Schriftzeichen von 1/3 oder 2/3 Rasterabständen werden addiert. Erreicht die Fehlersumme den Wert "1", dann wird vor das nächstfolgende Schriftzeichen ein zusätzlicher Abstand von einem Rasterabstand eingefügt und die Fehlersumme um 1 verringert. Ein möglicherweise verbleibender Restfehler von 1/3 Rasterabstand, z. B. nach einer vorausgehenden Addition von 2/3 Rasterabstand zu einer Fehlersumme von 2/3, wird bei der folgenden Addition berücksichtigt. Im Vergleich mit der gedruckten Ausgabe von Schriftgut können sich auf dem Bildschirm gegenseitige Verschiebungen von untereinanderstehenden Schriftzeichen von max. 2/3 Rasterabstand ergeben. Versuche haben gezeigt, dass diese Verschiebungen ebenso wie die bedarfsweise um'einen Rasterabstand vergrösserten Abstände der Schriftzeichen von unbefangenen Betrachtern kaum wahrgenommen werden. Das erfindungsgemässe Vorgehen ist nicht auf das beschriebene Beispiel beschränkt, bei dem das von einem Drucker wieder gegebene Schriftbild gewissermassen als Standard dient und das auf einem Bildschrim dargestellte Schriftbild in möglichst vollkommener Weise angepasst wird. Es ist auch möglich, von dem Schriftbild auf dem Bildschirm auszugehen und das Schriftbild des Druckers anzupassen. Ebenso können auch die Schriftbilder von zwei Druckern mit verschiedenem Auf lösungsvermögen einander angeglichen werden. Die Fig. 1 zeigt die wesentlichen Funktionseinheiten einer Schaltungsanordnung zur Durchführung des erfindungs gemässen Verfahrens. Ein in an sich bekannter Weise vorgesehener Zeichengenerator 1 liefert entsprechend seiner jeweiligen Adressierung Daten in paralleler Form, welche die Verteilung der markierten Rasterpunkte in einer Reihe für die Darstellung eines -Zeichens bestimmt. Diese Daten wer den durch einen Parallel-Serien-Wandler 2 in die serielle Punktinformation PI umgeformt. Dem Zeichengenerator 1 ist ein Zeichenbreitengenerator 3 zugeordnet. Der Zeichenbreitengenerator 3 wird gleichzeitig mit dem Zeichengenerator 1 adressiert und liefert eine beispielsweise 3 Bit umfassende Information, welche die in Rasterabständen gemessene Breite des abzubildenden Schriftzeichens in einer an sich beliebigen Codierung angibt. Eine Korrekturschaltung 4 ermittelt eine gegebenenfalls vorliegende Differenz zwischen einem nicht ganzzahligen Rechenwert für die Zeichenbreite und der nächst niedrigen Anzahl von Rasterabständen und addiert diese Differenzen. Die die Zeichenbreite bestimmende Anzahl von Rasterabständen wird in einer Folgezeichenlogik 5 gezählt. Hierzu dient ein Punkttakt, dessen Impulsabstände so gewählt sind, dass in der gleichen Zeitspanne die horizontale Strahlablenkung auf dem Bildschirm oder der Vorschub bei einem Drucker gerade einen Rasterabstand beträgt. Entspricht das Zählergebnis der vorgegebenen Zeichenbreite, dann gibt die Folgezeichenlogik 5 ein Signal ab, das die Übernahme der für das nächste Zeichen gültigen Daten auslöst. Stellt die Korrekturschaltung 4 fest, dass die von ihr gebildete Fehlersumme den Wert "1" erreicht oder gerade überschritten hat, dann teilt sie ssieses Ereignis der Folgezeichenlogik 5 mit, die mit der Ausgabe des Auslösesignals wartet, bis ein zusätzlicher Rasterabstand durchlaufen ist. Der Parallel-Serien-Wandler 2 muss während dieser Zeit eine Leerpunktinformation ausgeben. Ein in mehr rinzelheiten gehendes Ausführungsbeispiel für eine Schaltungsanordnung zur Transformation der Zeichenbreite ist in Fig. 2 dargestellt. Die Zeichenadresse ZA adressiert den schon genannten Zeichengenerator 1 und den Zeichenbreitengenerator 3, wie bereits beschrieben wurde. Beiden Generatoren sind in dem Ausführungsbeispiel nach Fig. 2 Register, nämlich ein Zeichenregister 6 und ein Breitenregister 7 zur Zwischenspeicherung der entsprechenden Informationen nachgeschaltet. Dem Zeichenregister 6 folgt als Parallel-Serien-Wandler ein Zeichenschieberegister 8, das aus dem Zeichenregister 6 parallel geladen wird und die serielle Punktinformation PI ausgibt. Mit den Ausgängen des Breitenregisters 7 sind drei Adresseneingänge AO bis A2 eines Korrekturspeichers 9 verbunden. Der Korrekturspeicher 9 kann ein Schreib-Lese-Speicher, ein Festwertspeicher oder ein programmierbarer Festwe¯t- speicher sein. Er bildet zusammen mit einem Breitenkorrekturregister 10 die Korrekturschaltung 4 nach Fig. 1, deren Wirkungsweise in einzelnen weiter unten beschrieben wird. Mit einer ersten Gruppe von Ausgängen des Korrekturspeichers 9 sind die Eingänge zur Paralleleingabe eines Breitenschieberegisters 11 verbunden, dessen Fortschaltung durch den Punkttakt PT erfolgt. Das Laden des Breitenschieberegisters 11 aus dem Korrekturspeicher 9 geschieht so, dass am Serienausgang S des Breitenschieberegisters 11 zunächst ebensoviele ItEinsen" erscheinen, wie die Breite des gerade wiederzugebenden Schriftzeichens in Rasterabständen beträgt. Darauf folgt eine 0. Sie bewirkt zusammen mit dem nächstfolgenden Impuls des Punittaktes PT, das erneute Laden des Zeichen- schieberegisters 8 und des Breitenschieberegisters 11, ferner die Übernahme einer neuen Punktinformation in das Zeichenregister 6 und einer neuen Breitennnformation in das Breitenregister 7 sowie das Laden des Breitenkorrektur registers 10. Die to n am Serienausgang des Breitenschiebe- registers 11 verschwindet sodann wegen der Eingabe einer neuen Serie von "Einsen" wieder. Zur Verringerung der Anzahl der Ausgänge des Korrekturspeichers 9 und seiner Speichenkapazität kann zwischen den Korrekturspeicher 9 und das Breitenschieberegister 11 ein in Fig. 2 nicht dargestellter Decoder eingefügt sein. Entsprechendes gilt auch für die Schnittstelle zwischen dem Zeichenregister 6 und dem Zeichenschieberegister 8. Die vorstehend geschilderten Funktionen sind auch aus dem Zeitdiagramm aus Fig. 3 ersichtlich. Der Darstellung sind ein Zeichengmit der rechnerischen Breite 4, ein Zeichen mit der rechnerischen Breite 6 2/3 und ein Zeichenmit der rechnerischent5 1/3 zugrunde gelegt. Dementsprechend ist dem Zeichen0die Breite 4 und dem Zeichenödie Breite 6 zugeordnet. Das Zeichenöerhält. gleichfalls die Breite 6, da inzwischen die Fehlersumme den Wert "1" entsprechend einem ganzzahligen Rasterabstand erreicht hat. Der Korrekturspeicher 9 weist neben der genannten ersten Gruppe von Ausgängen zwei weitere Ausgänge auf, die mit den Eingängen des ebenfalls schon erwähnten Breitenkorrekturregisters 10 verbunden sind. An die Ausgänge dieses Registers sind zusätzliche Adresseneingänge A3 und A4 des Korrekturspeichers 9 angeschlossen. Die zuletzt genannten Verbindungen vom und zum Korrekturspeicher 9 sind den Bruchteilen 1/3 und 2/3 Rasterabstand, d. h. den Differenzen zwischen den rechnerischen Zeichenbreiten und ihren nächst niedrigen ganzzahligen Werten zugeordnet. Weitere Einzelheiten werden in Verbindung mit einem zweiten Ausführungsbeispiel nach Fig. 4 beschrieben. Dieses Ausführungsbeispiel unterscheidet sich von dem Ausführungsbeispiel nach Fig. 2 durch den Ersatz des Breitenschieberegisters 11 durch einen Breitenzähler 12 und des Zeichenschieberegisters 8 durch einen Multiplexer 13. Der durch den Pu=nkttakt PT betriebene 4-Bit-Breitenzähler 12 wird beispielsweise durch die vom Korrekturspeicher 9 stammende Information so voreingestellt, dass er beim Hochzählen nach so vielen Impulsen ein Ubertragssignal CY abgibt, wie der Breite des betreffenden Schriftzeichens entspricht. Dabei gilt der das Laden des Breitenzählers 12 auslösende Impuls als erster Zählimpuls. Der Multiplexer 13 zur wahlweisen Durchschaltung einer von n Eingangsleitungen auf eine Ausgangsleitung wird durch den jeweiligen Stand des Breitenzählers 12 gesteuert. Die vom. Korrekturspeicher 9 ausgegebene Breiteninformation ist den angegebenen Bedingungen angepasst. Die Fig. 5 zeigt in Form einer Tabelle die Belegung des Korrekturspeichers 9. Wie ersichtlich, sind einige der möglichen Kombinationen der 5 Bit an den Adresseneingängen a bis A4 nicht benützt und daher in der Tabelle nicht aufgeführt. Da nur 6 verschiedene Zeichenbreiten vorgesehen sind, werden auch nur 6 verschiedene Werte des Breitencodes an den Adresseneingängen Ao bis A2 gebraucht. Desgleichen entsteht grundsätzlich keine Bitkombination 1 1 an den Adresseneingängen A3 und A4, die den Bruch teilswerten 1/3 und 2/3 zugeordnet sind. Die Bit an den Ausgängen P1 bis P4 des Korrekturspeichers 9 dienen zur Voreinstellung des Breitenzählers 12. Wegen der beschriebenen Zählweise bilden sie das Komplement der jeweiligen Zeichenbreite zur Zahl 16. Die Bit an den Ausgängen P und P6 geben wieder die Bruchteilswerte 1/3 bzw. 2/3 an. Anhand der Tabelle Fig. 5 lässt sich die Wirkungsweise der aus dem Korrekturspeicher 9 und dem BreitenRorrektus- register 10 bestehenden Korrektureinrichtung leicht ablesen, wobei im folgenden die einzelnen Bit wie die Anschlussklemmen, an denen sie anliegen, genannt sind. Beispielsweise möge die Adresse für den Korrekturspeicher 9 nach Zeile/der Tabelle 0 0 0 0 1 lauten. Der Speicher gibt dann aus 1 0 1 0 1 0. Die letzten vier Stellen bedeuten die Dezimalzahl 10. Wegen der Komplementbildung entspricht das der Zeichenbreite 6. Da der zugehörige Rechenwert 6 2/3 beträgt, ist also ein Fehler von 2/3 Rasterabstand entstanden, der durch P6 = 1 angezeigt wird. P6 = 1 wird im Breitenkorrekturregister 10 gespeichert. Der Breitencode für das folgende Zeichen sei wieder 0 0 1. Wegen der Rückführung des/Breitenkorrekturregister 10 10 ge- speicherten Bit P6 = 1 als Adressbit A4 = 1 lautet die vollständige Adresse 1 0 0 0 1. Damit entsteht am Ausgang des Korrekturspeichers 0 1 1 0 0 1. Das bedeutet, dass zu der ursprünglichen Zeichenbreite von 6 Rasterabständen ein weiterer Rasterabstand hinzugefügt wird und dass ferner ein Fehlerübertrag von 1/3 Rasterabstand (p5 = 1) entsteht. In Fortsetzung des Beispiels möge für das folgende Zeichen ein Breitencode 0 1 0 vorliegen. Als Speicheradresse ergibt sich nun 0 1 0 1 0. Daraus entsteht am Speicherausgang 1 0 1 0 1 1. Das entspricht derZeichen- breite 5 und der Fehlersumme von 2/3 Rasterabstand (P6=1). Die Ausbildung der Schaltungsanordnung zur Transformation der Zeichenbreite bei der Darstellung von Schriftzeichen in unterschiedlichen Wiedergabegeräten ist nicht auf die vorgestellten Ausführungsbeispiele beschränkt. So kann beispielsweise der Multiplexer 13 in dem Ausführungsbei- spiel nach Fig. 4 durch ein Schieberegister ersetzt werden. Ferner kann anstelle des Korrekturspeichers 9 ein Addierer vorgesehen werden, dem das Breitenkorrekturregister 10 als Akkumulator beigeordnet ist. 5 Figuren 6 Patentansprüche

Claims: Patentansrüche 1. Verfahren zur Transformation der in Rasterabständen gemessenen Zeichenbreite bei der Darstellung von Schriftzeichen in unterschiedlichen Wiedergabegeräten, d a d u r c h g e k e n n z e i c h n e t, dass bei einem rechnerisch nicht ganzzahligen Wert der Zeichenbreite bei dem einen Wiedergabegerät die tatsächliche Breite des wiedergegebenen Schriftzeichens auf den nächstniederen ganzzahligen Wert reduziert wird, dass die Differenzen zwischen dem tatsächlichen und dem rechnerischen Wert der Zeichenbreite zu einer Fehlersumme aufaddiert werden und dass zwischen zwei aufeinanderfolgenden Schriftzeichen ein Rasterabstand eingefügt wird, sobald die Fehlersumme den Wert "Eine" erreicht oder überschritten hat, wobei ein den Wert "Eins" gegebenenfalls überschreitender Betrag in die weitere Fehleraddition einbezogen wird. 2. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1, mit einem durch eine Schreibinformation adressierbaren Zeichengenerator und mit einem Parallel Serien-Umsetzer zur seriellen Ausgabe von Punktinformationen, d a du r c h g e k e n n z e i c h n e t, dass ein Zeichenbreitengenerator (3) vorgesehen ist, der zu jeder Schreibinformation eine codierte Zeichenbreiteninformation erzeugt und einer Korrekturschaltung (4) über- gibt, dass die Korrekturschaltung (4) die jeweilige Differenz zwischen dem tatsächlichen und dem rechnerischen Wert der Zeichenbreite ermittelt, die Differenzen addiert und eine korrigierte Zeichenbreiteninformation ausgibt, wenn die Summe der Differenzen den Wert "Eins" erreicht oder überschritten hat, und dass ferner eine Folgezeichenlogik (5) zur Erzeugung eines Auslösesignals für das nächstfolgende Zeichen vorgesehen ist. 3. Schaltungsanordnung nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, dass die Korrekturschaltung (4) aus einem Korrekturspeicher (9) und einem Breitenkorrekturregister (10) besteht, dass der von dem Zeichenbreitengenerator (3) gelieferte Breitentode einen ersten Teil der adresse (A0 bis A2) für den Korrekturspeicher (9) bildet, dass der Korrekturspeicher (9) über eine erste Gruppe von Ausgängen (P1 bis P4) eine ein banzzahliges Vielfaches von Rasterabständen kennzeichnende Breiteninformation und über eine zweite Gruppe von Ausgängen (P5, P6) eine die jeweilige Fehlersumme kennzeichnende Information ausgibt, dass die die Fehlersumme kennzeichnende Information in dem Breitenkorrekturregister (10) zwischengespeichert wird und für das jeweils folgende-Zeichen den zweiten Teil der Adresse (A3, A4) für den Korrekturspeicher (9) bildet. 4. Schaltungsanordnung nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t, dass als Folgezeichenlogik (5) ein durch einen Punkttakt (Pl') gesteuerter vorwärts zählender Breitenzähler (12) vorgesehen ist, dessen Zählvolumen den grössten Breitenwert eines Schriftzeichens mindestens um eine Einheit übersteigt, dass der Breitenzahler (12) durch die von dem Korrekturspeicher (9) ausgegebene Breiteninformation voreingestellt wird, dass die Breiteninformation das Komplement zu der durch das Zählvolumen gegebenen Zahl in binärer Verschlüsselung darstellt und dass das Ubertr2gs-signaS (Cdie übernahme und Verarbeitung der Daten für das folgende Schriftzeichen auslöst. 5. Schaltungsanordnung nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t, dass als Folgezeichenlogik (5) ein durch einen Punkttakt (PT) gesteuerter rückwärts zählender Breitenzähler (12) vorgesehen ist, dessen Zählv & men den grössten Breitenwert eines Schriftzeichens mindestens um eine Einheit übersteigt, dass der Breitenzähler (12) durch die von dem Korrekturspeicher (9) ausgegebene Breiteninformation voreingestellt wird, dass die Breiteninformation die Zahl der Rasterabstände in binärer Verschlüsselung darstellt und dass beim Erreichen des Zählerstandes "0" die Übernahme und Verarbeitung der Daten für das folgende Schriftzeichen ausgelöst wird. 6. Schaltungsanordnung nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t, dass dass als Folgezeichenlogik (5) ein durch einen Ptmkttakt (PT) gesteuertes Breitenschieberegistet (11) vorgesehen ist, dass die in das Breitenschieberegister (11) parallel eingegebene und aus dem Breitenschieberegister (11) seriell ausgegebene Breiteninformation ebensoviel "Einsenn in fortlaufender Folge enthält, wie die Breite des Schriftzeichens in Rasterabständen beträgt und dass die erste ausgegebene 'tNull" die Übernahme und Verarbeitung der Daten für das folgende Schriftzeichen auslöst.

Inventors: JAUD, BERNHARD, DIPL.-ING., ROSSNER, FLORIAN, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT BERLIN UND MUNCHEN
Application year: 1981
Main classification: G09G1
IPC codes: G09G5, G06K15, G06F3