DE69026599T2 - Verfahren zum verdichten von charakterdaten und verfahren zur änderung der charakter - Google Patents
Verfahren zum verdichten von charakterdaten und verfahren zur änderung der charakterInfo
- Publication number
- DE69026599T2 DE69026599T2 DE69026599T DE69026599T DE69026599T2 DE 69026599 T2 DE69026599 T2 DE 69026599T2 DE 69026599 T DE69026599 T DE 69026599T DE 69026599 T DE69026599 T DE 69026599T DE 69026599 T2 DE69026599 T2 DE 69026599T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- character
- dots
- dot
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000004048 modification Effects 0.000 claims description 19
- 238000012986 modification Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000002715 modification method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000005494 condensation Effects 0.000 description 1
- 238000009833 condensation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/002—Generic data access
- G06K2215/0028—Generic data access characterised by the format per se
- G06K2215/0031—Compressed bit maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/004—Generic data transformation
- G06K2215/0042—Rasterisation
- G06K2215/0051—Rasterisation from compressed bitmap, e.g. run length
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Verdichten von Charakterdaten bzw. Zeichen- oder Buchstabendaten, das speziell zur Verwendung bei der Speicherung von Schriftartdaten, den sogenannten Charakter-Fontdaten für eine elektrische Schreibmaschine, einen Word- Prozessor, einen Drucker, ein Matrixdisplay und dergleichen in nicht flüchtigen Speichern geeignet ist, die als Zeichen- oder Charaktergeneratoren dienen.
- Die vorliegende Erfindung betrifft auch ein Charaktermodifizierungsverfahren, das zur Expansion/Verdichtung komprimierter Charakter-Fontdaten geeignet ist, die aus nicht flüchtigen Speichern ausgelesen werden.
- Üblicherweise sind bei einem Zeichengenerator, der mit einem Punktmatrixdrucker oder auch kurz Matrixdrucker verwendet wird, eine Punktmatrix-Flüssigkristallanzeige und dergleichen vorgesehen, wobei Punkte, die jedes Zeichen bzw. jeden Buchstaben aufbauen, innerhalb einer Matrix mit z.B. 24 Punkte pro Spalte angeordnet sind. Die Daten für jedes Zeichen (Charakter) werden erzeugt und in einem nicht flüchtigen Speicher wie einem ROM gespeichert. Die Daten umfassen Information im Hinblick darauf, ob für jeden Stift der Punktmatrix, welches die minimale Einheit in horizontale Richtung darstellt, d.h. für jede Punktposition in der vertikalen Richtung des Charakters Druckdaten vorhanden sind, ferner Information bezüglich der Charakterauslegung, Information bezüglich des Datenformats, Information bezüglich des Charaktercodes und dergleichen. Ein derartiger Charakterfont wird als Bitmap-Font bezeichnet.
- Die FIG. 1 zeigt eine Punktmatrix für einen konventionellen Zeichengenerator, in welchem eine Bitmap für ein Prestige-Font "A" ausgebildet ist. Wie in FIG. 1 gezeigt, sind in der Bitmap, die aus 24 Reihen und 31 Spalten besteht, Punkte angeordnet. Die 24 Reihen in einer Spalte sind in jeweiligen Einheiten von vier Reihen gruppiert, und die Daten, die repräsentativ für ein Vorhandensein/Fehlen eines Punktes in jeder Einheit aus vier Reihen sind, werden durch eine Hexadezimalzahl ausgedrückt, um ein Charakterdatum vorzusehen. Auf diese Weise kann eine Spalte durch 3 Bytedaten ausgedrückt werden.
- Die Hexadezimaldaten für die Punktmap der FIG. 1 sind in FIG. 2 angegeben.
- Die im ROM gespeicherten Daten umfassen 31 x 3 Byte- Punktdaten für 31 Spalten von der 0-ten bis zur 30sten Spalte sowie 3 Bytedaten für einen vorderen oder Frontzwischenraum, die Charakterbreite und den rückwärtigen Zwischenraum oder Raum gemäß Darstellung in FIG. 3. Die gespeicherten Daten umfassen daher insgesamt 96 Bytedaten.
- Die FIG. 4 ist ein Blockschaltbild, die das Konzept einer Vorrichtung zeigt, die einen solchen Zeichengenerator umfaßt, wobei die Vorrichtung in einem Drucker eingebaut ist. In dieser Vorrichtung ist eine CPU 1 mit einem ROM 2 verbunden, der als Zeichengenerator dient, welcher fest Charakterinformation speichert, ferner mit einem RAM 3, einem Druckermechanismus 4 und einem I/O-Interface 5. Bei dieser Anordnung steuert die CPU 1 den Druckermechanismus 4 in der Weise, daß dieser die aus dem Zeichengenerator ROM 2 ausgelesene Punktinformation druckt. Eine ähnliche Anordnung ist auch auf ein Matrixdisplay oder dergleichen anwendbar.
- Eine derartige konventionelle Datenstruktur erfordert, daß eine Bitmap sämtliche Punktdaten einer Matrix einschließlich von Punktdaten, die nicht gedruckt werden, beinhalten sollte. Obgleich jedes Zeichen (Charakter) viele Punkte aufweist, die tatsächlich nicht gedruckt werden, müssen die Daten für solche Punkte in der Bitmap vorgesehen und vorbereitet werden, was eine große Speicherkapazität erfordert.
- Ferner werden die Charakterdaten, die aus einem solchen Zeichengenerator ausgelesen werden, häufig durch Expansion, Verdichtung oder Emphasis (Hervorhebung) modifiziert. Jedoch verarbeitet das oben dargelegte konventionelle Punktspeicherschema Charakterdaten durch separate Gruppierung jedes Charakters in der vertikalen Richtung zur Gewinnung der entsprechenden Charakter- oder Zeichendaten. Infolgedessen ist eine komplizierte Operation zur Modifizierung eines Charakters oder Zeichens erforderlich. Beispielsweise wird im Fall der Expansion eine OR-Operation durch zusätzliches Vorsehen von Null-Daten für eine Spalte ausgeführt. Im Fall der Verdichtung wird eine OR-Operation zwischen den Daten für zwei Spalten ausgeführt, um nicht erforderliche Punkte zu beseitigen.
- Derartige Operationen werden in Byte-Einheiten (8 Bits) oder Worteinheiten (16 Bits) ausgeführt. Daher wird eine Expansion um n oder eine Verdichtung um 1/n komplizierter als im Fall n = 2, woraus eine geringere Druckgeschwindigkeit resultiert.
- Ein weiteres Dokument aus dem Stand der Technik, die JP-A-61 284457, offenbart ein Datenverdichtungsverfahren, in welchem zwei-Bitdatencodes jeweils repräsentieren:
- eine Spalte ohne schwarze Punkte, eine Spalte identisch zur vorausgehenden Spalte, eine erste Start- und Endposition für schwarze Punkte und eine zweite Startund Endposition für schwarze Punkte. Da die Spalten jeweils 16 Reihen lang sind, bezeichnen die letzteren beiden Codes auch eine Anzahl von Druckpunkten, die kontinuierlich, d.h. fortgesetzt oder in Folge zu drucken sind.
- Es ist ein Gegenstand der vorliegenden Erfindung, zumindest teilweise die obigen Probleme zu überwinden. Ein Ausführungsbeispiel der Erfindung sieht ein Verfahren zum Verdichten von Charakterdaten in einem Zeichengenerator vor, welches imstande ist, die Speicheranforderungen zu redzieren, und Charaktermodifizierungsoperationen erleichtert und vereinfacht.
- Gemäß der vorliegenden Erfindung ist ein Verfahren zum Verdichten von Charakterdaten vorgesehen, umfassend eie Schritte des Ausschneidens oderzerschneidenseiner Bitmap, die aus Punkten aufgebaut ist, die in m Reihen und in n Spalten angeordnet sind, wobei die Punkte ein Charakter (Zeichen bzw. Buchstabe) darstellen, und zwar mit einer vorbestimmten Teilung (Pitch oder Schrittweite ) in einer Reihen- oder Spaltenrichtung; wobei das Verfahren ferner die Schritte des Vorsehens von Punktpräsenzdaten für jede ausgeschnittene Reihe oder Spalte umfaßt, falls in der Reihe oder Spalte ein Druckpunkt existiert; und das Vorsehen für jede Reihe oder Spalte, in der ein Druckpunkt existiert, von Druckinformation, die eine Druckstartposition dieses Druckpunktes umfaßt, ferner Kontinuitäts- oder Fortsetzungsdaten, die anzeigen, daß nur ein Satz kontinuierlicher oder fortgesetzter Druckpunkte in der Reihe/Spalte vorliegt oder daß ein anderer Satz kontinuierlicher Punkte in der Reihe/Spalte existiert, und eine Anzahl von kontinuierlich oder fortgesetzt zu druckenden Druckpunkten als Information umfaßt.
- Ein Charakter, insbesondere ein alphanumerisches Zeichen umfaßt häufig zahlreiche Linienelemente in der horizontalen oder vertikalen Richtung. Diesbezüglich wird gemäß der vorliegenden Erfindung ein Charakter separat mit einer vorbestimmten Teilung bzw. einem vorbestimmten Zwischenabstand in der horizontalen Richtung (Reihenrichtung) oder vertikalen Richtung (Spaltenrichtung) gruppiert, und es werden eine Punktstartposition und eine kontinuierlich oder fortlaufende Punktlänge als Daten für jede Sektion, die einen Druckpunkt aufweist, verwendet. Daher ist es möglich, ein Charakterdatum bzw. die Daten eines Charakters beträchtlich zu komprimieren und Charakterfonts in einem Speicher zu speichern, der eine geringe Kapazität aufweist. Darüber hinaus können die Expansion/Verdichtung in der horizontalen oder vertikalen Richtung einfach dadurch ausgeführt werden,daß nur die Punktstartadresse und die kontinuierliche Punktlänge geändert werden, wodurch eine Charaktermodifizierungsoperation vereinfacht und erleichtert wird.
- Ferner werden in einem Charaktermodifizierungsverfahren unter Verwendung von Charakterdaten, die in der Weise folgend auf das Charakterverdichtungsverfahren gespeichert sind, die Punktstartpositionsdaten und die Daten bezüglich der kontinuierlichen Punktlänge als fundamentale Parameter abgeleitet, und die Daten werden einer Charaktermodifizierungsoperation entsprechend einem von vielfältigen Modifizierungsmodi unterzogen. Entsprechend der Operationsergebnisse wird die Punktstartadresse geändert, und es wird eine Druckpunktinformation entsprechend dem Ausmaß oder Betrag der kontinuierlichen Punktlänge gegeben. Daher können Prozesse für verschiedenste Arten von Charaktermodifizierungsmodi einfach ausgeführt werden. Ferner ist eine einfache Operation zur Charaktermodifizierung ohne Hinzufügung von Punkten erreichbar, woraus eine hohe Operationsgeschwindigkeit resultiert.
- FIG. 1 ist eine Darstellung, die ein Beispiel eines Charakter-Fonts einer Bitmap-Ausführungsart zeigt,
- FIG. 2 ist eine Tabelle, die konventionelle Charakterdaten zeigt,
- FIG. 3 ist ein Diagramm, das Zwischenräume vor und nach jedem Charakter zeigt, wobei konventionelle Charakterdaten verwendet sind,
- FIG. 4 ist ein Blockschaltbild, das ein Beispiel des Aufbaus einer Vorrichtung zeigt, die einen Charaktergenerator umfaßt, der verdichtete Charakterdaten speichert,
- FIG. 5 ist eine Darstellung, die das fundamentale Konzept eines Charakterdaten-Verdichtungsverfahrens gemäß der vorliegenden Erfindung verdeutlicht,
- FIG. 6 ist ein Diagramm, das das Vorliegen/Fehlen eines Punkts in jeder Reihe verdeutlicht, der durch Herausschneiden eines Charakters in der horizontalen Richtung gewonnen wird,
- FIG. 8 ist eine Tabelle. die ein Beispiel der Daten eines Charakters zeigt, welches eine Punktstartposition repräsentiert und einen kontinuierlichen Punktzustand, und
- FIG. 9 ist ein Flußdiagramm, das den Inhalt des charaktermodifizierenden Verfahrens entsprechend der vorliegenden Erfindung zeigt.
- Es wird nun ein Ausführungsbeispiel der vorliegenden Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen erläutert.
- Die FIG. 5 bis 8 zeigen, wie Daten gemäß der vorliegenden Erfindung verdichtet bzw. komprimiert werden.
- FIG. 5 ist eine Darstellung, die Charakterdaten zeigt, welche in der horizontalen Richtung (Reihen-Richtung) entsprechend der vorliegenden Erfindung herausgenommen bzw. herausgeschnitten sind.
- Beispielhalber wird ähnlich der Beschreibung des Standes der Technik ein Prestige-Font "A" verwendet. Dieses Charakter oder Zeichen ist in einer 24 x 31 Punktmatrixmap entwickelt. Zusätzlich zu den 31 Bits sind vom 32sten bis zum 35sten Bit vier Bits für ein Script- oder Schriftart- Font und einen Proportionaldruck vorgesehen, was einen breiteren Zwischenraum als 31 Bitbreite erfordert. Diese Map ist für eine jede Spalte in erste bis 24ste Sektionen gruppiert. Die Charakterdaten sind in folgender Weise vorgegeben.
- Sektionsinformation entspricht Daten, die für das Vorhandensein/Fehlen von Punktdaten in jeder der 24 Sektionen repräsentativ sind. Beispielsweise ist diese Information ein Ein-Bitdatum, das den Wert "1" annimmt, wenn in der entsprechenden Sektion Daten vorliegen, und den Wert "0", wenn Daten fehlen. Daher kann eine Reihe durch 24 Bits/8 = 3 Bytes beispielsweise durch drei Gruppen Hexadezimalzahlen 7F, FF und E0 gemäß Darstellung in FIG. 2 dargestellt werden.
- Die Optionsinformation umfaßt weitere Daten, die erforderlich sind für den Druck, wobei hierfür ein Byte reserviert ist. Beispielsweise gibt diese Information die Mittenposition eines Charakterdesigns, die Art des Datenformats oder dergleichen an.
- Die Charakterdaten repräsentieren die Positionen von Punkten, die ein Charakter bzw. Zeichen darstellen, sowie die kontinuierliche Punktlänge.
- Die Charakterdaten werden unter Heranziehen der in FIG. 1 gezeigten Punktmatrix als ein Beispiel erläutert. Die Charakterdaten sind aus 8 Bitdaten aufgebaut, wie in FIG. 7A gezeigt ist. B7 des MSB zeigt den Zustand der Punkte an. Dabei zeigt "1" einen vollständigen Punktzustand an, und "0" zeigt einen Folge- oder Fortsetzungszustand von Punkten an. Der "vollständige Zustand" bedeutet, daß ein Punktsatz nur in einem Bereich vorliegt. Der "Fortsetzungszust'and" bedeutet, daß ein weiterer Satz von Punkten in einem weiteren Bereich vorliegt. Im Hinblick auf Druckrequisiten bedeutet ein Punktsatz Punkte, die fortlaufend ein um die andere Position, d.h. an jeder zweiten Position, angeordnet sind. Im in FIG. 1 gezeigten Beispiel umfassen die Sektionen 2, 3, 4 und13 einen Punktesatz und B7 dieser Sektionen nimmt gemäß Darstellung in FIG. 8 den Wert "1" an.
- B6 repräsentiert den Datenumfang. "1" repräsentiert Ein-Bytedaten für den Fall, daß die Anzahl von Punkten zwei oder weniger ist. "0" repräsentiert Zwei-Bytedaten für den Fall, daß die Anzahl von Punkten drei oder größer ist.
- Ein Beispiel für B6 = 1 ist in FIG. 7D gezeigt, In diesem Fall kann die Anzahl von Punkten durch ein Bit von B5 ausgedrückt werden, und die Position von 0-ter Spalte bis zur 31sten Spalte wird durch die Bits B4 bis B0 ausgedrückt. Daher können sowohl die Punktzahl als auch die Position eines Startpunktes durch ein Byte ausgedrückt werden.
- Demgegenüber wird im Fall B6 = 0 die Position durch Bits B5 bis B0 im ersten Byte gemäß Darstellung in FIG. 7B ausgedrückt, und die Anzahl von Punkten wird durch ein Byte der Bits B7 bis B0 des zweiten Byte gemäß Darstellung in FIG. 7C ausgedrückt.
- Es wird nun das spezielle Beispiel der in FIG. 1 gezeigten Punktmatrix detaillierter bezüglich des Verfahrens der Gewinnung einer Charakter-Bitmap auf die oben erläuterte Weise beschrieben.
- Sektion 2: Es sind zwei Punkte beginnend in der 14ten Spalte angeordnet. Daher betragen B7 = 1, B6 = 1, B5 = 1, und die Position 14 wird durch 01110 (binäre Darstellung) repräsentiert, wodurch sich die Charakterdaten 11101110 ergeben.
- Sektion 3: Es sind drei Punkte beginnend von der 13ten Spalte aus angeordnet. Daher ist B7 = 1 und B6 = 0, womit angezeigt ist, daß der Datenumfang zwei Bytes umfaßt. Im ersten Byte ist nur die Position 13 = 01101 (Binärdarstellung) gegeben, und im zweiten Byte ist nur die Anzahl der Bits, 3, gegeben. Es ergeben sich dann für das erste Byte 10001101 und das zweite Byte 00000011.
- Sektion 5: Es ist ein Punkt auf der 12ten Spalte angeordnet, und es sind zwei Punkte beginnend von der 16ten Spalte angeordnet. Daher werden die Zwei-Bytedaten zu 01001100 und 11110000 gewonnen.
- Sektion 13: Es sind zehn Punkte beginnend von der 6sten Spalte aus angeordnet, womit die Zwei-Bytedatengröße angezeigt wird. Daher betragen B7 = 1 und B6 = 0 und das resultierende erste Byte 10000110 und das zweite Byte 00001010.
- Sektion 19: Es ist ein Bereich aus fünf Punkten beginnend von der 0-ten Spalte aus angeordnet, und es sind sechs Punkte beginnend von der 20sten Spalte aus angeordnet, woraus sich zwei Sätze von Zwei-Bytedaten ergeben.
- Die resultierenden Daten sind in FIG. 8 dargestellt.
- Wie aus FIG. 8 ersichtlich, erfordern die Charakterdaten dieses Beispiels 37 Bytes.
- Als Resultat kann der Buchstabe (Charakter) "A" aus FIG. 1 nur durch ein Maximum von 41 Bytes einschließlich der Sektionsinformation (A), der Optionsinformation (B) und den Charakterdaten (C) dargestellt werden. Es sind 55 Bytes im Vergleich zur üblicherweise erforderlichen Anzahl der Bytes entfallen, wobei eine Reduzierung auf weniger als die Hälfte der üblichen Bytezahl erfolgte.
- Im obigen Ausführungsbeispiel wird eine Bitmap in der horizontalen Richtung ausgeschnitten. Es ist auch möglich, eine Bitmap in vertikaler Richtung auszuschneiden und zu entwickeln, wobei dieselbe Datenverdichtung möglich wird.
- Ferner ist im obigen Ausführungsbeispiel die Bitstartposition als positive Zahl angezeigt. Die Bitstartposition kann jedoch relativ zur Charaktermittenposition 0 durch eine positive oder negative Zahl angezeigt werden.
- Der Charakter- oder Zeichenmodifizierungsprozeß für Charakterdaten, die gespeichert sind, unter Verwendung des obigen Verfahrens kann vereinfacht werden.
- FIG. 9 ist ein Flußdiagramm, das die Details des Charaktermodifizierungsverfahrens gemäß der vorliegenden Erfindung zeigt.
- Es wird vorausgesetzt, daß beispielsweise der Charaktergenerator bzw. Zeichengenerator an jeder Sektion des Zeichens "A" der FIG. 1 separat in horizontaler Richtung gruppiert die Punktpräsenzinformation (FIG. 6) speichert sowie die Punktstartpositionsdaten und Fortsetzungspunkt- Längendaten (FIG. 8).
- Zunächst wird für ein bestimmtes Charakter geprüft, ob sich in der ersten Sektion (ersten Reihe) irgendwelche Punktdaten befinden (Schritt S101).
- Falls keine Punktdaten vorhanden sind, werden Punkt start-Positionsdaten A0 und Punktfortsetzungs-Längendaten N0 aus dem Zeichengenerator ausgelesen (Schritt S102).
- Entsprechend den ausgelesenen Daten wird eine Operation zur Charaktermodifikation ausgeführt (Schritt S103). Eine solche Operation umfaßt die folgenden Merkmale.
- AnEX = nA0
- NnEX = nN0
- AnCON = INT(A0/n)
- NnCON = INT(N0/n + 1),
- wobei INT einem integralen Teil entspricht.
- AEm = a0
- NEM = N0 + m,
- wobei m gleich oder größer als 1 ist.
- AnEXEM = nA0
- NnEXEM = nnN0 + m,
- wobei m gleich oder größer als 1 ist.
- AnCONEM = INT(A0/n)
- NnCONEM = INT(N0/n + 1 + m)
- Ax/y = xA0/y
- Nx/y = N0 für x = 1
- Nx/y = INT(xN0/y + 1) für x/y < 1
- Nx/y = INT(xN0/y für x/y > 1
- Ax/y = xA0/y
- Nx/y = N0 für x/y = 1
- Nx/y = INT(xN0/y + 1 + m) für x/y < 1
- Nx/y = INT(xN0/y + m) für x/y > 1
- Im folgenden wird die Adresse, an der die gewonnenen Daten gespeichert werden, gesetzt (Schritt S104). Speziell wird eine Bezugsadresse für ein Charakter dem Wert A, der durch die Charaktermodifizierungsoperation gewonnen wurde, hinzugefügt, und das Additionsergebnis wird als neue Adresse bei der Charaktermodifizierung verwendet. Falls ein schräggestelltes Charakter bzw. schräggestelltes Zeichen gewünscht ist, wird der Versetzungsgrad der Adresse für jede Reihe mit dem Grad der Schrägstellung oder Neigung geändert.
- Die Punktdruckdaten werden an die in obiger Weise gewonnene Adresse gesetzt (Schritt S105).
- Die Adresse wird auf die Adresse für den nächsten Punkt erneuert (Schritt S106). Dann wird geprüft, ob die Anzahl von Punkten, die der Berechnung des Schritts S103 unterzogen wurden, 0 ist oder nicht, d.h., ob die Operation für den letzten Punkt abgeschlossen worden ist oder nicht (Schritt S107). Falls nicht, so springt die Steuerung zurück auf Schritt S105, um die obigen Schritte so lange zu wiederholen, bis die Anzahl von Punkten, die der Berechnung unterzogen werden, 0 wird.
- Nach Abschluß der Operation für den letzten Punkt unter den Punkten des Satzes geht die Steuerung zurück zu Schritt S101, um zu prüfen, ob irgendein Punkt in der Reihe oder in einer anderen Spalte vorhanden ist. Die Schritte S101 bis S107 werden wiederholt, bis die Punktdaten nichtpräsent werden.
- Falls im Schritt S101 keine zu verarbeitenden Punktdaten vorliegen, rückt die Steuerung auf die nächste Sektion (Schritt S108) vor. Es werden dann die gleichen Operationen für die nächste Sektion ausgeführt, um die modifizierende Operation des gesamten Charakters abzuschließen.
- In der in FIG. 4 gezeigten Vorrichtung werden die Punktstartpositionsdaten A0 und Fortsetzungspunkt-Längendaten N0 aus dem ROM 2 gelesen, und die Charaktermodifizierungsprozedur wird vom CPU 1 entsprechend dem in FIG. 9 gezeigten Flußdiagramm durchgeführt. Entsprechend der gewonnenen Punktinformation wird der Druckmechanismus 4 so gesteuert, daß er die Information ausdruckt.
- Wie oben erläutert, werden entsprechend dem Charaktermodifizierungsverfahren der vorliegenden Erfindung verschiedene Modifizierungsprozesse unter Verwendung der gemeinsamen Parameter A und N anstelle der konventionellen Operation ausgeführt, die in Byte-Einheiten ausgeführt wurde. Darüber hinaus wird nicht nach einer Adresse ohne Punktdaten gesucht. Entsprechend können die Prozesse geschwindigkeitsmäßig gesteigert werden. Ferner sind verschiedene Prozesse allein dadurch möglich, daß der Inhalt der Operationen für die gemeinsamen Parameter geändert wird, und es ist möglich, den Vergrößerungsfaktor, Reduktionsfaktor, Emphasisfaktor und Neigungsgrad auf einfache Weise und frei zu ändern.
- Im obigen Ausführungsbeispiel wird die Charaktermodifizierungsprozedur für Sektionen in Reihenrichtung ausgeführt. Es kann jedoch auf praktisch dieselbe Weise die Prozedur für Sektionen in Spaltenrichtung mit einem Charakterfonts speichernden Charaktergenerator oder Zeichengenerator ausgeführt werden.
- Ferner kann ein bekannter Glättungs(Kerning- oder Unterschneidungs)-Prozeß ausgeführt werden, um die Kontur eines Zeichens, Buchstabens bzw. Charakters nach dem Charaktermodifizierungsprozeß zu glätten.
Claims (4)
1. Verfahren zum Verdichten von Charakterdaten, aufweisend
die Schritte des Ausschxieidens einer Bitmap, die aus
Punkten erstellt ist, die in m Reihen und in n Spalten
angeordnet sind, wobei die Punkte ein Zeichen (Charakter) bilden,
mit einer vorbestimten Teilung in Reihen- oder
Spaltenrichtung;
wobei das Verfahren ferner die Schritte umfaßt:
Vorsehen von Punktpräsenzdaten für jede ausgeschnittene
Reihe oder Spalte, falls ein Druckpunkt in der Reihe oder
Spalte existiert; und
Vorsehen von Druckinformation für jede Reihe oder
Spalte, in der dieser Druckpunkt existiert, wobei die
Druckinformation eine Druckstartposition des Druckpunktes,
Fortsetzungsdaten, die anzeigen, daß nur ein Satz
kontinuierlicher Druckpunkte in der Reihe/Spalte vorliegt, oder daß ein
weiterer Satz kontinuierlicher Punkte in der Reihe/Spalte
existiert, und eine Anzahl von Druckpunkten, die
kontinuierlich zu drucken sind, umfaßt.
2. Verfahren zum Verdichten von Charakterdaten nach
Anspruch 1, in welchem die Punkte, die kontinuierlich zu
drucken sind, durch ein Einzelpunktintervall voneinander
beabstandet sind.
3. Verfahren zum Verdichten von Charakterdaten nach
Anspruch 1 oder 2, in welchem die Fortsetzungsdaten das
höchstwertige Bit (MSB) der Druckinformation umfassen und
die Druckinformation ferner aufweist:
ein dem höchstwertigen Bit nächstgelegenes Bit,
anzeigend, daß der Datenumfangder Druckinformation ein Byte oder
zwei Bytes beträgt; und
fallsder Datenumfangein Byte beträgt, dritte und
folgende Bits, die die Punktzahl und Punktposition
repräsentieren, falls die Datengröße ein Byte beträgt, oder
falls die Datengröße zwei Bytes beträgt, ein drittes und
folgende Bits eines ersten Bytes, welches die Punktposition
repräsentiert, und die Daten des zweiten Bytes, die die
Punktzahl repräsentieren.
4. Verfahren zum Liefern von modifizierten Charakterdaten,
umfassend:
Verdichten von Charakterdaten nach einem der Ansprüche
1 bis 3 zum Vorsehen verdichteter Charakterdaten;
Speichern der verdichteten Charakterdaten in einem
Speicher;
Auslesen aus diesem Speicher der
Druckstartpositionsdaten und der Anzahl von Druckpunkten, die kontinuierlich
zu drucken sind, für jede Reihe oder Spalte, in der ein
Druckpunkt des Zeichens (Charakters) existiert;
Ausführen einer Operation entsprechend der
Charaktermodifikation bezüglich der Druckstartpositionsdaten und
der Anzahl von Druckpunkten, die kontinuierlich zu drucken
sind; und
Festlegen von Punktdruckinformation entsprechend einer
Adresse, die durch eine kontinuierliche Punktlänge definiert
ist, welche durch die Charaktermodifizierungsoperation
gewonnen wurde, auf eine neue Adresse, die durch die
Charaktermodifizierungsoperation für die
Druckstartpositionsdaten gewonnen wurde.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26932289A JPH03132119A (ja) | 1989-10-17 | 1989-10-17 | 文字データ圧縮方法 |
JP1285437A JPH03146365A (ja) | 1989-11-01 | 1989-11-01 | 文字修飾方法 |
PCT/JP1990/001337 WO1991005664A1 (en) | 1989-10-17 | 1990-10-17 | Character data compression method and character modification method |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69026599D1 DE69026599D1 (de) | 1996-05-23 |
DE69026599T2 true DE69026599T2 (de) | 1996-09-12 |
Family
ID=26548719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69026599T Expired - Fee Related DE69026599T2 (de) | 1989-10-17 | 1990-10-17 | Verfahren zum verdichten von charakterdaten und verfahren zur änderung der charakter |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0448725B1 (de) |
DE (1) | DE69026599T2 (de) |
WO (1) | WO1991005664A1 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3327650B2 (ja) * | 1993-04-15 | 2002-09-24 | キヤノン株式会社 | 記録装置 |
US5903715A (en) * | 1991-12-06 | 1999-05-11 | Seiko Epson Corporation | Dot matrix printer having reduced bit map data storage |
JP3106021B2 (ja) * | 1992-11-30 | 2000-11-06 | キヤノン株式会社 | パターンデータの圧縮方法及び装置と出力方法及び装置 |
US5692108A (en) * | 1994-09-26 | 1997-11-25 | Xerox Corporation | Odd/even stroke control for reduced video data clocking |
JP4424845B2 (ja) | 1999-12-20 | 2010-03-03 | 本田 正 | イメージデータ圧縮方法及び復元方法 |
JP6890219B2 (ja) * | 2016-01-29 | 2021-06-18 | パナソニックIpマネジメント株式会社 | 圧縮データ構造とそれを用いた印刷データ圧縮方法、印刷方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52119026A (en) * | 1976-03-31 | 1977-10-06 | Hitachi Ltd | Coding of binary signal |
JPS61284457A (ja) * | 1985-06-11 | 1986-12-15 | Matsushita Electric Ind Co Ltd | ドツトマトリクスデ−タの処理方法 |
JPS6227789A (ja) * | 1985-07-29 | 1987-02-05 | 沖電気工業株式会社 | キヤラクタジエネレ−タのデ−タ圧縮方式 |
JPS62278052A (ja) * | 1986-05-26 | 1987-12-02 | Nec Corp | プリンタのドツトイメ−ジデ−タ入力方式 |
JPH01184154A (ja) * | 1988-01-20 | 1989-07-21 | Hitachi Ltd | 文字パタンの保持及び展開方式 |
JP2710126B2 (ja) * | 1988-04-28 | 1998-02-10 | キヤノン株式会社 | 出力制御方法及び出力装置 |
JP2731099B2 (ja) * | 1993-01-29 | 1998-03-25 | 古河機械金属株式会社 | 油圧式クレーンの切換弁装置 |
-
1990
- 1990-10-17 EP EP90915173A patent/EP0448725B1/de not_active Expired - Lifetime
- 1990-10-17 WO PCT/JP1990/001337 patent/WO1991005664A1/ja active IP Right Grant
- 1990-10-17 DE DE69026599T patent/DE69026599T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0448725A4 (en) | 1992-04-15 |
DE69026599D1 (de) | 1996-05-23 |
WO1991005664A1 (en) | 1991-05-02 |
EP0448725A1 (de) | 1991-10-02 |
EP0448725B1 (de) | 1996-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3707112C2 (de) | ||
EP0096079B1 (de) | Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen | |
DE69222689T2 (de) | Verfahren und Vorrichtung zur Substituierung von Schriftarten und zur Anzeige von Zeichen | |
DE3851484T2 (de) | Datenverringerung für die Bildanzeige von Ganzseiten-Graphiken. | |
DE3787073T2 (de) | Mehrrichtungs-Abtast- und -Druckfähigkeit. | |
EP0132456B1 (de) | Verfahren und Vorrichtung zur Prüfung der Satzqualität von Druckerzeugnissen, insbesondere Zeitungen | |
DE7639778U1 (de) | Letternkoerper | |
DE3632603C2 (de) | ||
DE68903837T2 (de) | Verfahren zum vergroessern der daten eines bitrasters in einer horizontalen richtung. | |
DE3882063T2 (de) | Verfahren zur Erzeugung von Buchstaben beim Punktdruck. | |
DE69212028T3 (de) | Banddruckvorrichtung zum Drucken einer Mehrzahl von benachbarten Drucklinien über die Breite des Bandes | |
DE2701328C2 (de) | Zeichengenerator | |
DE68927008T2 (de) | Verfahren zum komprimieren und dekomprimieren von punktmatrixzeichen | |
DE69319988T2 (de) | Verfahren für die Umsetzung von Bitkarten in einfarbige Daten | |
DE3932024C2 (de) | Datenverarbeitungsanlage zur Umwandlung einer Gruppe von Umrißdaten | |
DE3520289C2 (de) | ||
DE69026599T2 (de) | Verfahren zum verdichten von charakterdaten und verfahren zur änderung der charakter | |
DE4124554C2 (de) | Datenumwandlungseinrichtung und Zeichenausgabeeinrichtung | |
DE3786526T2 (de) | Mehrrichtungs-Abtast- und -Druckfähigkeit. | |
DE68910096T2 (de) | Verfahren und Gerät zur Bildung von Buchstabenumrisslinien. | |
DE3132842C2 (de) | Verfahren zur Reduzierung der Redundanz von binären Zeichenfolgen für Matrixdruckverfahren | |
DE3935558A1 (de) | Vorrichtung zum konvertieren von bildumrissdarstellungsdaten in punktmusterdaten zum erzeugen von punkten | |
DE3688439T2 (de) | Geteilter druck von punktmustern mit hoher dichte. | |
DE4323025C2 (de) | Schriftzeichen-Speichervorrichtung | |
DE3316669A1 (de) | System und verfahren zum steuern des druckens mit einem drucker |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: PATENTANWAELTE REICHEL UND REICHEL, 60322 FRANKFURT |
|
8339 | Ceased/non-payment of the annual fee |