DE4322364C2 - Verfahren zum Erzeugen von Fontdaten - Google Patents
Verfahren zum Erzeugen von FontdatenInfo
- Publication number
- DE4322364C2 DE4322364C2 DE4322364A DE4322364A DE4322364C2 DE 4322364 C2 DE4322364 C2 DE 4322364C2 DE 4322364 A DE4322364 A DE 4322364A DE 4322364 A DE4322364 A DE 4322364A DE 4322364 C2 DE4322364 C2 DE 4322364C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- bit
- pattern
- bit patterns
- patterns
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Controls And Circuits For Display Device (AREA)
- Document Processing Apparatus (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren
zum Erzeugen von Fontdaten in einem Drucker oder ähnlichem.
Wenn Fontdaten für einen Drucker oder ähnliches gespei
chert werden sollen, wird gelegentlich ein Fontmuster gespei
chert, das diese komprimiert, um den Speicherplatzbedarf zu
reduzieren, auch wenn in einigen Fällen die Bitmapdaten des
Fonts gespeichert werden.
US 4,631,521 beschreibt ein Verfahren und eine Vorrichtung
zur differenziellen Lauflängenkodierung. Ziel ist es, digitale
Graustufenbilder in eine Form zu bringen, auf welche die Lauf
längenkodierung in effektiver Weise angewendet werden kann.
Dies wird dadurch erreicht, dass eine zeilenweise Differenzie
rung mit jeweils dem ersten Byte einer Zeile durchgeführt
wird, wobei dieses erste Byte unverändert bleibt. Jedes Byte
einer Zeile wird also mit diesem unveränderten ersten Byte
verglichen und wird ersetzt durch die Ableitung dieses Bytes
nach dem Referenzbyte. In einer bevorzugten Ausführungsform
schlägt US 4,631,521 vor, mindestens eine Exklusiv-Oder-
Verknüpfung für diese Differenzierung einzusetzen.
Mit den Verfahren nach dem Stand der Technik konnte jedoch
in einigen Fällen das Fontmuster nicht wirkungsvoll kompri
miert werde. Der vorliegenden Erfindung liegt daher die Aufga
be zugrunde, eine effiziente Methode der Datenkompression bei
Fontmustern anzugeben. Diese Aufgabe wird erfindungsgemäß
durch ein Verfahren gemäß Anspruch 1 gelöst, bei welchem mög
lichst viele identische Bitmuster geschaffen werden, indem im
mer zwei einander benachbarte erste Bitmuster mit einer Exklu
siv-Oder-Operation miteinander verknüpft werden. Die so aufbe
reiteten Daten können anschließend einer Huffman Lauflängen-
Kodierung unterzogen werden.
Fig. 1 ist eine Zeichnung, die sich auf die ersten und
zweiten Ausführungsbeispiele der vorliegenden Erfindung be
zieht, wobei Fig. 1(A) eine erklärende Zeichnung eines ur
sprünglichen Fontmusters und Fig. 1(B) eine erklärende Zeich
nung des Fontmusters nach einer Übersetzung ist.
Fig. 2 ist eine erklärende Ansicht, die hexadezimale Da
ten zeigt, die dem Fontmuster der Fig. 1(B) nach der Überset
zung entsprechen.
Fig. 3 ist eine Tabelle, die alle auf der Basis des
Fontmusters nach der Übersetzung erzeugten und gespeicherten
Daten entsprechend dem ersten Ausführungsbeispiel der
Erfindung zeigt.
Fig. 4 ist ein Flußdiagramm, das den
Datenkomprimierungsvorgang entsprechend dem ersten Ausfüh
rungsbeispiel der Erfindung zeigt.
Fig. 5 ist ein Flußdiagramm, das den Datenwiedergabe
vorgang entsprechend dem ersten Ausführungsbeispiel der Er
findung zeigt.
Fig. 6 ist eine Tabelle, die alle auf der Basis des
Fontmusters nach der Übersetzung erzeugten und gespeicherten
Daten entsprechend dem zweiten Ausführungsbeispiel der Erfin
dung zeigt.
Fig. 7 ist ein Flußdiagramm, das den
Datenkomprimierungsvorgang entsprechend dem zweiten Ausfüh
rungsbeispiel der Erfindung zeigt.
Fig. 8 ist ein Flußdiagramm, das den Datenwiedergabe
vorgang entsprechend dem zweiten Ausführungsbeispiel der Er
findung zeigt.
Fig. 9 ist eine Zeichnung, die sich auf die dritten und
vierten Ausführungsbeispiele der vorliegenden Erfindung
bezieht, wobei Fig. 9(A) eine erklärende Zeichnung eines ur
sprünglichen Fontmusters, Fig. 9(B) eine erklärende Zeichnung
des Fontmusters in der Mitte der Bearbeitung und Fig. 9(C)
eine erklärende Zeichnung des Fontmusters nach der Überset
zung ist.
Fig. 10 ist eine erklärende Ansicht, die hexadezimale
Daten zeigt, die dem Fontmuster der Fig. 9(C) nach der Über
setzung entsprechen.
Fig. 11 ist eine Tabelle, die alle auf der Basis des
Fontmusters nach der Übersetzung erzeugten und gespeicherten
Daten entsprechend dem dritten Ausführungsbeispiel der Erfin
dung zeigt.
Fig. 12 ist ein Flußdiagramm, das den
Datenkomprimierungsvorgang entsprechend dem dritten Ausfüh
rungsbeispiel der Erfindung zeigt.
Fig. 13 ist ein Flußdiagramm, das den Datenwiedergabe
vorgang entsprechend dem dritten Ausführungsbeispiel der Er
findung zeigt.
Fig. 14 ist eine Tabelle, die alle auf der Basis des
Fontmusters nach der Übersetzung erzeugten und gespeicherten
Daten entsprechend dem vierten Ausführungsbeispiel der Erfin
dung zeigt.
Fig. 15 ist ein Flußdiagramm, das den
Datenkomprimierungsvorgang entsprechend dem vierten Ausfüh
rungsbeispiel der Erfindung zeigt.
Fig. 16 ist ein Flußdiagramm, das den Datenwiedergabe
vorgang entsprechend dem vierten Ausführungsbeispiel der Er
findung zeigt.
Unter Bezugnahme auf die Fig. 1, 2, 3, 4 und 5 wird
ein erstes Ausführungsbeispiel der vorliegenden Erfindung er
klärt.
Fig. 1(A) ist eine erklärende Ansicht, die ein ursprüng
liches Fontmuster zeigt, und Fig. 1(B) ist eine erklärende
Ansicht, die das Fontmuster nach einer Übersetzung zeigt.
Fig. 2 ist eine erklärende Zeichnung, die hexadezimale Daten
zeigt, die dem Fontmuster der Fig. 1(B) nach der Übersetzung
entsprechen. Fig. 3 ist eine Tabelle, die alle auf der Basis
des Fontmusters nach der Übersetzung erzeugten und gespei
cherten Daten zeigt. Fig. 4 ist ein Flußdiagramm, das den
Datenkomprimierungsvorgang zeigt. Fig. 5 ist ein Flußdia
gramm, das den Datenwiedergabevorgang zeigt.
Als erstes wird bezugnehmend auf das Flußdiagramm der
Fig. 4 der Datenkomprimierungsvorgang entsprechend dem ersten
Ausführungsbeispiel erklärt.
Fig. 1(A) zeigt ein ursprüngliches Fontmuster für einen
Font, und das ursprüngliche Fontmuster ist in erste Bitmuster
A1-A20 unterteilt, von denen jedes aus einer Einheit von 8
Bits besteht. Zweite Bitmuster B1-B20 sind in Fig. 1(B) ge
zeigt. Diese sind durch sequentielle Ausführung einer exklu
siven ODER-Operation (EXOR) auf die ersten Bitmuster A1-A20
erzeugt worden. Konkret wird folgender Vorgang durchgeführt:
A1 . . . B1
A2 . . . B2
A1 (EXOR) A3 . . . B3
A2 (EXOR) A4 . . . B4
. . .
A17 (EXOR) A19 . . . B19
A18 (EXOR) A20 . . . B20
A1 . . . B1
A2 . . . B2
A1 (EXOR) A3 . . . B3
A2 (EXOR) A4 . . . B4
. . .
A17 (EXOR) A19 . . . B19
A18 (EXOR) A20 . . . B20
Durch Darstellung der zweiten Bitmuster B1-B20 durch
hexadezimale Daten können die in Fig. 2 gezeigten Umwand
lungspunktdaten D1-D20 erhalten werden. Diese Umwandlungs
punktdaten D1-D20 werden einmal in einem Puffer gespei
chert. Das Subskript "H" bezeichnet hexadezimale Daten
(Schritt b).
Die Daten "(FF)H", die am häufigsten unter den Umwand
lungspunktdaten D1-D20 in Fig. 2 erscheinen, werden in Fig.
3 als Referenzbitmusterdaten gespeichert (Schritt c). Die An
zahl der zweiten Bitmuster B1-B20, also die Anzahl der Um
wandlungspunkte D1-D20 "(14)H" wird in einem Zähler als die
Anzahl der Musterdaten in Fig. 3 eingestellt (Schritt d).
Die Umwandlungspunktdaten D1-D20 werden sequentiell
aus dem Puffer ausgelesen (Schritt e). Die ausgelesenen
Umwandlungspunktdaten Dn werden mit den
Referenzbitmusterdaten "(FF)H" verglichen (Schritt f). Wenn
beide Daten nicht gleich sind, werden Bitdaten "1" in der
Komprimierungstabelle der Fig. 3 gespeichert (Schritt g). Zur
gleichen Zeit werden die Umwandlungspunktdaten Dn als
Komprimierungsbitmusterdaten gespeichert (Schritt h). Wenn
die beiden Daten gleich sind, werden Bitdaten "0" in der
Komprimierungstabelle der Fig. 3 gespeichert (Schritt i).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
j). Die obigen Schritt e-j werden wiederholt, bis der Wert
des Zählers "0" wird (Schritt k). Also werden, während die
Differenz und Gleichheit der Umwandlungspunktdaten Dn und der
Bitmusterdaten "(FF)H" sequentiell in der
Komprimierungstabelle gespeichert werden, die Umwandlungs
punktdaten Dn nur dann als Komprimierungsbitmusterdaten ge
speichert, wenn sich beide Daten unterscheiden.
Als nächstes wird der Datenwiedergabevorgang entspre
chend dem ersten Ausführungsbeispiel unter Bezugnahme auf das
Flußdiagramm der Fig. 5 erklärt.
Die Musterdatennummer "(14)H" in Fig. 3 wird in den Zäh
ler eingesetzt (Schritt m). Eines der Bitdaten wird der Reihe
nach von der Spitze der Komprimierungstabelle der Fig. 3 ge
lesen (Schritt n). Es wird verglichen, ob die Bitdaten "1"
sind oder nicht (Schritt o). Wenn die Bitdaten "1" sind, wird
eines der Komprimierungsbitmusterdaten in Fig. 3 der Reihe
nach von der Spitze der Tabelle gelesen und wird als die Um
wandlungspunktdaten in Fig. 2 wiedergegeben (Schritt p). Wenn
die Bitdaten nicht "1" sind, werden die Referenzbitdaten
"(FF)H" als die Umwandlungsbitdaten in Fig. 2 wiedergegeben
(Schritt q).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
r). Die obigen Schritt n-r werden der Reihe nach wieder
holt, bis der Wert des Zählers "0" wird (Schritt s). Auf
diese Weise werden die Umwandlungsbitdaten D1-D20 der Fig.
2, also die zweiten Bitmuster B1-B20 in Fig. 1 wiedergege
ben. Die ersten Bitmuster A1-A20 der Fig. 1(A) werden aus
den zweiten Bitmustern B1-B20 der Fig. 1(B) wiedergegeben,
um das ursprüngliche Fontmuster wiederzugeben (Schritt t).
Unter Bezugnahme auf die Fig. 1, 2, 6, 7 und 8 wird
das zweite Ausführungsbeispiel der Erfindung erklärt.
Die Fig. 1 und 2 sind dieselben wie beim ersten Aus
führungsbeispiel, und die Fig. 6, 7 und 8 entsprechen je
weils den Fig. 3, 4 und 5 des ersten Ausführungsbeispiels.
Demzufolge wird der Teil der Erklärung, der sich mit dem des
ersten Ausführungsbeispiels überlappt, hiernach weggelassen.
Anhand des in Fig. 7 gezeigten Flußdiagramms wird zu
nächst der Datenkomprimierungsvorgang entsprechend dem zwei
ten Ausführungsbeispiel erklärt.
Die zweiten Bitmuster B1-B20 in Fig. 1(B) werden auf
dieselbe Weise unter Verwendung der EXOR-Bearbeitung der er
sten Bitmuster der A1-A20 der Fig. 1(A) erzeugt wie in dem
ersten Ausführungsbeispiel, und die Umwandlungspunktdaten D1
-D20 werden in dem Puffer gespeichert (Schritt b).
Drei Daten, die am häufigsten in den Umwandlungspunkt
daten D1-D20 der Fig. 2 auftreten, also "(FF)H", "(01)H"
und "(80)H", werden ausgewählt und jeweils als
Referenzbitdaten 1, Referenzbitdaten 2 und Referenzbitdaten 3
in Fig. 6 gespeichert (Schritt c). Die Anzahl der zweiten
Bitmuster B1-B20, also die Anzahl der Umwandlungspunkte D1
-D20 "(14)H" wird in einem Zähler als die Anzahl der Muster
daten in Fig. 6 eingestellt (Schritt d).
Die Umwandlungspunktdaten D1-D20 werden sequentiell
aus dem Puffer ausgelesen (Schritt e). Die ausgelesenen Um
wandlungspunktdaten Dn werden mit den Referenzbitmusterdaten
1, den Referenzbitmusterdaten 2 und den
Referenzbitmusterdaten 3 verglichen (Schritt f). Wenn die
Daten nicht mit einem der Referenzbitmusterdaten übereinstim
men, werden Bitdaten "11" in der Komprimierungstabelle der
Fig. 6 gespeichert (Schritt g). Zur gleichen Zeit werden die
Umwandlungspunktdaten Dn als Komprimierungsbitmusterdaten ge
speichert (Schritt h). Wenn die Daten gleich den
Referenzbitdaten 1 sind, werden Bitdaten "00" in der
Komprimierungstabelle der Fig. 6 gespeichert, wenn die Daten
gleich den Referenzbitdaten 2 sind, werden Bitdaten "01" in
der Komprimierungstabelle der Fig. 6 gespeichert, und wenn
die Daten gleich den Referenzbitdaten 3 sind, werden Bitdaten
"10" in der Komprimierungstabelle der Fig. 6 gespeichert
(Schritt i).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
j). Die obigen Schritt e-j werden wiederholt, bis der Wert
des Zählers "0" wird (Schritt k).
Als nächstes wird der Datenwiedergabevorgang entspre
chend dem zweiten Ausführungsbeispiel unter Bezugnahme auf
das Flußdiagramm der Fig. 8 erklärt.
Die Musterdatennummer "(14)H" in Fig. 6 wird in den Zäh
ler eingesetzt (Schritt m). Eines der Bitdaten wird der Reihe
nach von der Spitze der Komprimierungstabelle der Fig. 6 ge
lesen (Schritt n). Es wird verglichen, ob die Bitdaten "11"
sind oder nicht (Schritt o). Wenn die Bitdaten "11" sind,
werden die Komprimierungsbitmusterdaten in Fig. 6 gelesen und
als die Umwandlungspunktdaten in Fig. 2 wiedergegeben
(Schritt p). Wenn die Bitdaten nicht "11" sind, werden die
Referenzbitmusterdaten 1 (wenn die Bitdaten "00" sind), die
Referenzbitmusterdaten 2 (wenn die Bitdaten "01" sind) oder
die Referenzbitmusterdaten 3 (wenn die Bitdaten "10" sind)
als die Umwandlungsbitdaten in Fig. 2 wiedergegebenen
(Schritt q).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
r). Die obigen Schritt n-r werden der Reihe nach wieder
holt, bis der Wert des Zählers "0" wird (Schritt s). Somit
werden die ersten Bitmuster A1-A20 der Fig. 1(A) aus den
zweiten Bitmustern B1-B20 der Fig. 1(B) wiedergegeben, um
das ursprüngliche Fontmuster wiederzugeben (Schritt t).
Übrigens können, auch wenn die Beschreibung der ersten
und zweiten Ausführungsbeispiele für den Fall, in dem die er
sten Bitmuster aus Spalteneinheiten zusammengesetzt sind, ge
geben wurde, diese auch aus Zeileneinheiten zusammengesetzt
sein.
Unter Bezugnahme auf die Fig. 9, 10, 11, 12 und 13
wird ein drittes Ausführungsbeispiel der vorliegenden Erfin
dung erklärt.
Fig. 9(A) ist eine erklärende Ansicht, die ein ursprüng
liches Fontmuster zeigt, Fig. 9(B) ist eine erklärende
Ansicht des Fontmusters in der Mitte der Bearbeitung und Fig.
9(C) ist eine erklärende Ansicht, die das Fontmuster nach ei
ner Übersetzung zeigt. Fig. 10 ist eine erklärende Zeichnung,
die hexadezimale Daten zeigt, die dem Fontmuster der Fig.
9(C) nach der Übersetzung entsprechen. Fig. 11 ist eine Ta
belle, die alle auf der Basis des Fontmusters nach der Über
setzung erzeugten und gespeicherten Daten zeigt. Fig. 12 ist
ein Flußdiagramm, das den Datenkomprimierungsvorgang zeigt.
Fig. 13 ist ein Flußdiagramm, das den Datenwiedergabevorgang
zeigt.
Als erstes wird bezugnehmend auf das Flußdiagramm der
Fig. 12 der Datenkomprimierungsvorgang entsprechend dem drit
ten Ausführungsbeispiel erklärt.
Fig. 9(A) zeigt ein ursprüngliches Fontmuster für einen
Font, und das ursprüngliche Fontmuster ist in erste Bitmuster
A1-A20 unterteilt, von denen jedes aus einer Einheit von 8
Bits besteht. Zweite Bitmuster B1-B20 sind in Fig. 9(B) ge
zeigt. Diese sind durch sequentielle Ausführung einer
logischen Addition (ODER) auf die ersten Bitmuster A1-A20
erzeugt worden. Konkret wird folgender Vorgang durchgeführt:
A1 . . . B1
A2 . . . B2
A1 (ODER) A3 . . . B3
A2 (ODER) A4 . . . B4
. . .
A17 (ODER) A19 . . . B19
A18 (ODER) A20 . . . B20
A1 . . . B1
A2 . . . B2
A1 (ODER) A3 . . . B3
A2 (ODER) A4 . . . B4
. . .
A17 (ODER) A19 . . . B19
A18 (ODER) A20 . . . B20
Durch Durchführen einer exklusiven logischen Summe
(EXOR) bei den zweiten Bitmustern B1-B20 werden die in Fig.
9(C) gezeigten dritten Bitmuster C1-C20 erzeugt. Konkret
wird folgender Vorgang durchgeführt:
B1 . . . C1
B2 . . . C2
B1 (EXOR) B3 . . . C3
B2 (EXOR) B4 . . . C4
. . .
B17 (EXOR) B19 . . . C19
B18 (EXOR) B20 . . . C20
B1 . . . C1
B2 . . . C2
B1 (EXOR) B3 . . . C3
B2 (EXOR) B4 . . . C4
. . .
B17 (EXOR) B19 . . . C19
B18 (EXOR) B20 . . . C20
Durch Darstellung der dritten Bitmuster C1-C20 durch
hexadezimale Daten können in Fig. 10 gezeigte Umwandlungs
punktdaten D1-D20 erhalten werden. Diese Umwandlungspunkt
daten D1-D20 werden einmal in einem Puffer gespeichert. Das
Subskript "H" bezeichnet hexadezimale Daten (Schritt b).
Die Daten "(00)H", die am häufigsten unter den Umwand
lungspunktdaten D1-D20 in Fig. 10 erscheinen, werden in
Fig. 11 als Referenzbitmusterdaten gespeichert (Schritt c).
Die Anzahl der dritten Bitmuster C1-C20, also die Anzahl
der Umwandlungspunkte D1-D20 "(14)H" wird in einem Zähler
als die Anzahl der Musterdaten in Fig. 11 eingestellt
(Schritt d).
Die Umwandlungspunktdaten D1-D20 werden sequentiell
aus dem Puffer ausgelesen (Schritt e). Die ausgelesenen
Umwandlungspunktdaten Dn werden mit den
Referenzbitmusterdaten "(00)H" verglichen (Schritt f). Wenn
beide Daten nicht gleich sind, werden Bitdaten "1" in der
Komprimierungstabelle der Fig. 11 gespeichert (Schritt g).
Zur gleichen Zeit werden die Umwandlungspunktdaten Dn als
Komprimierungsbitmusterdaten gespeichert (Schritt h). Wenn
die beiden Daten gleich sind, werden Bitdaten "0" in der
Komprimierungstabelle der Fig. 11 gespeichert (Schritt i).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
j). Die obigen Schritt e-j werden wiederholt, bis der Wert
des Zählers "0" wird (Schritt k). Also werden, während die
Differenz und Gleichheit der Umwandlungspunktdaten Dn und der
Bitmusterdaten "(00)H" sequentiell in der
Komprimierungstabelle gespeichert werden, die Umwandlungs
punktdaten Dn nur dann als Komprimierungsbitmusterdaten ge
speichert, wenn sich beide Daten unterscheiden.
Als nächstes wird der Datenwiedergabevorgang entspre
chend dem dritten Ausführungsbeispiel unter Bezugnahme auf
das Flußdiagramm der Fig. 13 erklärt.
Die Musterdatennummer "(14)H" in Fig. 11 wird in den
Zähler eingesetzt (Schritt m). Eines der Bitdaten wird der
Reihe nach von der Spitze der Komprimierungstabelle der Fig.
11 gelesen (Schritt n). Es wird verglichen, ob die Bitdaten
"1" sind oder nicht (Schritt o). Wenn die Bitdaten "1" sind,
wird eines der Komprimierungsbitmusterdaten in Fig. 11 der
Reihe nach von der Spitze der Tabelle gelesen und als die Um
wandlungspunktdaten in Fig. 10 wiedergegeben (Schritt p).
Wenn die Bitdaten nicht "1" sind, werden die Referenzbitdaten
"(00)H" als die Umwandlungsbitdaten in Fig. 2 wiedergegebenen
(Schritt q).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
r). Die obigen Schritt n-r werden der Reihe nach wieder
holt, bis der Wert des Zählers "0" wird (Schritt s). Auf
diese Weise werden die Umwandlungsbitdaten D1-D20 der Fig.
10, also die dritten Bitmuster C1-C20 in Fig. 9 wiedergege
ben. Die ersten Bitmuster A1-A20 der Fig. 9(A) werden aus
den dritten Bitmustern C1-C20 der Fig. 9(C) wiedergegeben,
um das ursprüngliche Fontmuster wiederzugeben (Schritt t).
Unter Bezugnahme auf die Fig. 9, 10, 14, 15 und 16
wird das vierte Ausführungsbeispiel der Erfindung erklärt.
Die Fig. 9 und 19 sind dieselben wie beim dritten
Ausführungsbeispiel, und die Fig. 14, 15 und 16 entspre
chen jeweils den Fig. 11, 12 und 13 des dritten Ausfüh
rungsbeispiels. Demzufolge wird der Teil der Erklärung, der
sich mit dem des dritten Ausführungsbeispiels überlappt,
hiernach weggelassen.
Anhand des in Fig. 15 gezeigten Flußdiagramms wird zu
nächst der Datenkomprimierungsvorgang entsprechend dem vier
ten Ausführungsbeispiel erklärt.
Die zweiten Bitmuster B1-B20 in Fig. 9(B) und die
dritten Bitmuster C1-C20 in Fig. 9(C) werden auf dieselbe
Weise unter Verwendung der ODER- und EXOR-Bearbeitung der er
sten Bitmuster der A1-A20 der Fig. 9(A) erzeugt wie in dem
dritten Ausführungsbeispiel, und die Umwandlungspunktdaten D1
-D20 werden in dem Puffer gespeichert (Schritt b).
Drei Daten, die am häufigsten in den Umwandlungspunkt
daten D1-D20 der Fig. 2 auftreten, also "(00)H", "(FE)H"
und "(7F)H", werden ausgewählt und jeweils als
Referenzbitdaten 1, Referenzbitdaten 2 und Referenzbitdaten 3
in Fig. 14 gespeichert (Schritt c). Die Anzahl der dritten
Bitmuster C1-C20, also die Anzahl der Umwandlungspunkte D1
-D20 "(14)H" wird in einem Zähler als die Anzahl der Muster
daten in Fig. 14 eingestellt (Schritt d).
Die Umwandlungspunktdaten D1-D20 werden sequentiell
aus dem Puffer ausgelesen (Schritt e). Die ausgelesenen Um
wandlungspunktdaten Dn werden mit den Referenzbitmusterdaten
1, den Referenzbitmusterdaten 2 und den
Referenzbitmusterdaten 3 verglichen (Schritt f). Wenn die
Daten nicht mit einem der Referenzbitmusterdaten übereinstim
men, werden Bitdaten "11" in der Komprimierungstabelle der
Fig. 14 gespeichert (Schritt g). Zur gleichen Zeit werden die
Umwandlungspunktdaten Dn als Komprimierungsbitmusterdaten in
Fig. 14 gespeichert (Schritt h). Wenn die Daten gleich den
Referenzbitdaten 1 sind, werden Bitdaten "00" in der
Komprimierungstabelle der Fig. 14 gespeichert, wenn die Daten
gleich den Referenzbitdaten 2 sind, werden Bitdaten "01" in
der Komprimierungstabelle der Fig. 14 gespeichert, und wenn
die Daten gleich den Referenzbitdaten 3 sind, werden Bitdaten
"10" in der Komprimierungstabelle der Fig. 14 gespeichert
(Schritt i).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
j). Die obigen Schritt e-j werden wiederholt, bis der Wert
des Zählers "0" wird (Schritt k).
Als nächstes wird der Datenwiedergabevorgang entspre
chend dem vierten Ausführungsbeispiel unter Bezugnahme auf
das Flußdiagramm der Fig. 16 erklärt.
Die Musterdatennummer "(14)H" in Fig. 14 wird in den
Zähler eingesetzt (Schritt m). Eines der Bitdaten wird der
Reihe nach von der Spitze der Komprimierungstabelle der Fig.
14 gelesen (Schritt n). Es wird verglichen, ob die Bitdaten
"11" sind oder nicht (Schritt o). Wenn die Bitdaten "11"
sind, werden die Komprimierungsbitmusterdaten in Fig. 14 der
Reihe nach von oben gelesen und werden als die
Umwandlungspunktdaten in Fig. 10 wiedergegeben (Schritt p).
Wenn die Bitdaten nicht "11" sind, werden die
Referenzbitmusterdaten 1 (wenn die Bitdaten "00" sind), die
Referenzbitmusterdaten 2 (wenn die Bitdaten "01" sind) oder
die Referenzbitmusterdaten 3 (wenn die Bitdaten "10" sind)
als die Umwandlungsbitdaten in Fig. 10 wiedergegebenen
(Schritt q).
"1" wird von dem Wert des Zählers subtrahiert (Schritt
r). Die obigen Schritt n-r werden der Reihe nach wieder
holt, bis der Wert des Zählers "0" wird (Schritt s). Somit
werden die ersten Bitmuster A1-A20 der Fig. 9(A) aus den
dritten Bitmustern C1-C20 der Fig. 9(C) wiedergegeben, um
das ursprüngliche Fontmuster wiederzugeben (Schritt t).
Übrigens können, auch wenn die Beschreibung der dritten
und vierten Ausführungsbeispiele für den Fall, in dem die er
sten Bitmuster aus Spalteneinheiten zusammengesetzt sind, ge
geben wurde, diese auch aus Zeileneinheiten zusammengesetzt
sein.
Folglich erlaubt die vorliegende Erfindung die wirkungs
volle Komprimierung eines Fontmusters.
Claims (4)
1. Verfahren zum Erzeugen von Fontdaten, welches die folgenden Schritte um
fasst:
Unterteilen einer Fontmuster-Matrix in Einheiten von Spalten und Zeilen, um eine Vielzahl von ersten Bitmustern zu erzeugen;
sequentielles Bilden von exklusiven logischen Summen von jeweils zwei ers ten Bitmustern, um eine Vielzahl von zweiten Bitmustern zu bilden;
Bestimmen von wenigstens einem Bitmuster, das häufig unter den zweiten Bitmustern auftritt, als Referenzbitmuster; und
Vergleichen und Speichern der Differenz zwischen jedem der Vielzahl von zweiten Bitmustern und dem Referenzbitmuster und Speichern nur derjenigen zweiten Bitmuster, die sich von dem Referenzbitmuster unterscheiden, wo durch komprimierte Daten erzeugt werden, die das Fontmuster repräsentie ren;
dadurch gekennzeichnet, dass
in dem Schritt des sequentiellen Bildens von exklusiven logischen Summen von jeweils zwei ersten Bitmustern diejenigen ausgewählt werden, die be nachbart angeordnet sind.
Unterteilen einer Fontmuster-Matrix in Einheiten von Spalten und Zeilen, um eine Vielzahl von ersten Bitmustern zu erzeugen;
sequentielles Bilden von exklusiven logischen Summen von jeweils zwei ers ten Bitmustern, um eine Vielzahl von zweiten Bitmustern zu bilden;
Bestimmen von wenigstens einem Bitmuster, das häufig unter den zweiten Bitmustern auftritt, als Referenzbitmuster; und
Vergleichen und Speichern der Differenz zwischen jedem der Vielzahl von zweiten Bitmustern und dem Referenzbitmuster und Speichern nur derjenigen zweiten Bitmuster, die sich von dem Referenzbitmuster unterscheiden, wo durch komprimierte Daten erzeugt werden, die das Fontmuster repräsentie ren;
dadurch gekennzeichnet, dass
in dem Schritt des sequentiellen Bildens von exklusiven logischen Summen von jeweils zwei ersten Bitmustern diejenigen ausgewählt werden, die be nachbart angeordnet sind.
2. Verfahren zum Erzeugen von Fontdaten nach Anspruch 1, dadurch gekenn
zeichnet, dass das Referenzbitmuster aus einem Bitmuster besteht, das am
häufigsten unter den zweiten Bitmustern auftritt.
3. Verfahren zum Erzeugen von Fontdaten nach Anspruch 1, dadurch gekenn
zeichnet, dass das Referenzbitmuster aus mehreren Bitmustern besteht, die
ein Bitmuster enthalten, das am häufigsten unter den zweiten Bitmustern auf
tritt.
4. Verfahren zum Erzeugen von Fontdaten nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, dass das Fontmuster mit der Vielzahl von ersten
Bitmustern erzeugt wird durch ein Bilden von logischen Summen von benach
barten, in Spalten und Zeilen unterteilten Bitmustern eines Ausgangsfont
musters.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4182121A JPH07109548B2 (ja) | 1992-07-09 | 1992-07-09 | フォントデータの形成方法 |
JP4182120A JPH07109547B2 (ja) | 1992-07-09 | 1992-07-09 | フォントデータの形成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4322364A1 DE4322364A1 (de) | 1994-04-21 |
DE4322364C2 true DE4322364C2 (de) | 2001-05-10 |
Family
ID=26501044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4322364A Expired - Fee Related DE4322364C2 (de) | 1992-07-09 | 1993-07-05 | Verfahren zum Erzeugen von Fontdaten |
Country Status (5)
Country | Link |
---|---|
US (1) | US5453938A (de) |
KR (1) | KR960014166B1 (de) |
DE (1) | DE4322364C2 (de) |
GB (1) | GB2268607B (de) |
TW (1) | TW247952B (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644684A (en) * | 1993-03-15 | 1997-07-01 | Canon Kabushiki Kaisha | High-efficiency compression suitable for use in character generation |
AU3238295A (en) * | 1995-08-03 | 1997-03-05 | Michael L. Cole | Recursive data compression |
US6678688B1 (en) | 2000-10-26 | 2004-01-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for composite font generation |
US9319444B2 (en) * | 2009-06-22 | 2016-04-19 | Monotype Imaging Inc. | Font data streaming |
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
US9817615B2 (en) | 2012-12-03 | 2017-11-14 | Monotype Imaging Inc. | Network based font management for imaging devices |
WO2014100582A2 (en) | 2012-12-21 | 2014-06-26 | Monotype Imaging Inc. | Supporting color fonts |
EP2943894A2 (de) | 2013-01-09 | 2015-11-18 | Monotype Imaging Inc. | Erweiterter texteditor |
US9317777B2 (en) | 2013-10-04 | 2016-04-19 | Monotype Imaging Inc. | Analyzing font similarity for presentation |
US9691169B2 (en) | 2014-05-29 | 2017-06-27 | Monotype Imaging Inc. | Compact font hinting |
US10115215B2 (en) | 2015-04-17 | 2018-10-30 | Monotype Imaging Inc. | Pairing fonts for presentation |
US11537262B1 (en) | 2015-07-21 | 2022-12-27 | Monotype Imaging Inc. | Using attributes for font recommendations |
US11334750B2 (en) | 2017-09-07 | 2022-05-17 | Monotype Imaging Inc. | Using attributes for predicting imagery performance |
US10909429B2 (en) | 2017-09-27 | 2021-02-02 | Monotype Imaging Inc. | Using attributes for identifying imagery for selection |
WO2019089578A1 (en) | 2017-10-30 | 2019-05-09 | Monotype Imaging Inc. | Font identification from imagery |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631521A (en) * | 1984-12-31 | 1986-12-23 | Wang Laboratories, Inc. | Method and apparatus for differential run-length coding |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3535696A (en) * | 1967-11-09 | 1970-10-20 | Webb James E | Data compression system with a minimum time delay unit |
US3694813A (en) * | 1970-10-30 | 1972-09-26 | Ibm | Method of achieving data compaction utilizing variable-length dependent coding techniques |
KR850001657B1 (ko) * | 1981-03-06 | 1985-11-06 | 야마모도 다꾸마 | 영상(影像) 데이터 변환법 및 문자 코우드와 문자패턴 변환장치 |
US4481602A (en) * | 1981-04-06 | 1984-11-06 | International Business Machines Corporation | Font compression and decompression for character generation |
GB2129546B (en) * | 1982-11-02 | 1985-09-25 | Cambridge Instr Ltd | Image comparison |
FR2538979B1 (fr) * | 1982-12-29 | 1985-07-05 | Telediffusion Fse | Systeme de transcodage de matrices pour videographie a alphabet dynamiquement redefinissable |
JPS63170063A (ja) * | 1987-01-07 | 1988-07-13 | Brother Ind Ltd | 印字装置 |
US5046025A (en) * | 1988-07-27 | 1991-09-03 | Bmc Software, Inc. | Data transmission optimizer including multi-pass symbol buffer optimization, trial generation feature and MDT reset voting feature |
US5005137A (en) * | 1989-01-09 | 1991-04-02 | Bmc Software, Inc. | Method for optimizing data streams containing two-byte characters |
US5272768A (en) * | 1989-02-21 | 1993-12-21 | Hewlett-Packard Company | Blank strip font compression method and device, and resulting stored, decompressible font |
US5179711A (en) * | 1989-12-26 | 1993-01-12 | International Business Machines Corporation | Minimum identical consecutive run length data units compression method by searching consecutive data pair comparison results stored in a string |
FR2660088B1 (fr) * | 1990-03-26 | 1992-06-26 | Arditti David | Dispositif de condensation de donnees numeriques. |
-
1992
- 1992-07-23 TW TW081105827A patent/TW247952B/zh active
-
1993
- 1993-07-05 DE DE4322364A patent/DE4322364C2/de not_active Expired - Fee Related
- 1993-07-05 KR KR1019930012516A patent/KR960014166B1/ko not_active IP Right Cessation
- 1993-07-08 US US08/089,863 patent/US5453938A/en not_active Expired - Fee Related
- 1993-07-09 GB GB9314260A patent/GB2268607B/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631521A (en) * | 1984-12-31 | 1986-12-23 | Wang Laboratories, Inc. | Method and apparatus for differential run-length coding |
Also Published As
Publication number | Publication date |
---|---|
KR940002734A (ko) | 1994-02-19 |
GB2268607B (en) | 1995-09-27 |
US5453938A (en) | 1995-09-26 |
GB9314260D0 (en) | 1993-08-18 |
KR960014166B1 (ko) | 1996-10-14 |
GB2268607A (en) | 1994-01-12 |
DE4322364A1 (de) | 1994-04-21 |
TW247952B (de) | 1995-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4322364C2 (de) | Verfahren zum Erzeugen von Fontdaten | |
DE3326725C2 (de) | Vorrichtung zur Datenkomprimierung für zweidimensionale Zeichenbilder | |
DE2801536C2 (de) | Zeichenformkodiervorrichtung | |
DE2944822C2 (de) | ||
DE4005492C2 (de) | Bildcodierverfahren | |
DE3416939A1 (de) | Verfahren zur steuerung von betriebseinrichtungen | |
DE3408674A1 (de) | Steuerungsverfahren | |
DE2723523A1 (de) | Kompression und dekompression von gespeicherten digitaldaten | |
DE3326583C2 (de) | ||
DE3636675A1 (de) | Kodierverfahren und -einrichtung | |
DE2911123A1 (de) | Verfahren zum wiederherstellen eines bildbereichs | |
DE2805294C2 (de) | Codierende Übertragungsanlage für Faksimile-Signale | |
DE19821727A1 (de) | Vorrichtung und Verfahren zur Codierung mit variabler Länge | |
DE3047695A1 (de) | Verfahren und vorrichtung zum herstellen einer speichertabelle fuer farbkontrollbedingungen | |
DE3006772A1 (de) | Verfahren zum wiederherstellen eines bildes | |
DE3241673C2 (de) | Verfahren zum Verdichten von Daten Zwei-wertiger Bilddarstellungen | |
DE3632603A1 (de) | Verfahren und vorrichtung zur druckersteuerung | |
EP3707854A1 (de) | Verfahren zum verknuepfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum ueberpruefen der integritaet einer blockchain-struktur, vorrichtung und computerprogrammprodukt | |
DE3811396C2 (de) | ||
DE3103592A1 (de) | Verfahren und vorrichtung zur zeichenidentifizierung | |
DE2727627A1 (de) | Paralleldekodiersystem und verfahren zur umsetzung von binaerdaten in videoform | |
DE69722126T2 (de) | Verfahren zur Halbtonrasterungsumsetzung der Grauwertsignale der Bildelemente eines Bildes und Bildwiedergabegerät | |
DE69838923T2 (de) | Verfahren und Vorrichtung zur Mustervergleichskodierung | |
DE3129649C2 (de) | ||
DE69627391T2 (de) | Verfahren und system zum durchführen einer booleschen operation auf bitketten unter benutzung einer maximalen bitscheibe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8180 | Miscellaneous part 1 |
Free format text: IM HEFT 2/94, SEITE 333, SP.2: DIE VEROEFFENTLICHUNG IST ZU STREICHEN DA KEINE SCHRIFT GEDRUCKT WURDE |
|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: SEIKO PRECISION INC., TOKIO/TOKYO, JP |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8339 | Ceased/non-payment of the annual fee |