[go: up one dir, main page]

DE4340599C2 - Gerät und Verfahren zur Konturerzeugung - Google Patents

Gerät und Verfahren zur Konturerzeugung

Info

Publication number
DE4340599C2
DE4340599C2 DE4340599A DE4340599A DE4340599C2 DE 4340599 C2 DE4340599 C2 DE 4340599C2 DE 4340599 A DE4340599 A DE 4340599A DE 4340599 A DE4340599 A DE 4340599A DE 4340599 C2 DE4340599 C2 DE 4340599C2
Authority
DE
Germany
Prior art keywords
contour
information
weight
movement
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 - Fee Related
Application number
DE4340599A
Other languages
English (en)
Other versions
DE4340599A1 (de
Inventor
Tsuneaki Kurumida
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from JP4320670A external-priority patent/JP2922738B2/ja
Priority claimed from JP05001686A external-priority patent/JP3106023B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE4340599A1 publication Critical patent/DE4340599A1/de
Application granted granted Critical
Publication of DE4340599C2 publication Critical patent/DE4340599C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0034Outline coding

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)
  • Image Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

Die Erfindung betrifft ein Gerät und ein Verfahren zur Kon­ turerzeugung.
Allgemein ist ein Konturschriftbild aus Daten von Konturen eines Zeichens zusammengesetzt, die durch gerade Linien und Kurven dargestellt sind. Als Kurven werden üblicherweise eine kubische Bezier-Kurve, eine Spline-Kurve oder ein Kreisbogen benutzt.
Diese Konturdaten stellen die Daten für ein Schriftbild mit einer bestimmten Dicke dar, die nachfolgend als "Gewichtung" oder "Gewicht" bezeichnet wird. Ein mageres Schriftzeichen mit geringer Gewichtung ist durch Konturdaten für ein schwaches Schriftbild dargestellt, während eine fette Schrift mit hoher Gewichtung durch Konturdaten für ein fettes Schriftbild dargestellt ist. In dieser Beschreibung ist, "Gewichtung" ein numerischer Wert, der die Dicke des Zeichens darstellt, "Dicke" ein Ausdruck, der die Dicke der Kontur darstellt, und "Kontur" hat die Bedeutung einer Umrißlinie.
Die Literaturstelle "Computer Grafik" von W. D. Fellner, BI- Wissenschaftsverlag, Mannheim, Wien, Zürich, 1988, Seiten 143 bis 152, lehrt, Zeichen mit einer vorbestimmten Dicke bzw. Gewichtung auszubilden. Dabei werden Zeichen ausgefüllt, die anhand deren Konturlinien bestimmt sind.
Zur Anzeige oder zum Druck von Zeichen oder dergleichen ent­ sprechend Schriftbildern mit mehreren Gewichtungen anders als bei der vorstehend genannten Literaturstelle besteht infolgedessen ein Problem darin, daß für jegliche Gewichtung Konturschrifttypen mit einer Vielzahl von Gewichtungen vorgesehen werden müssen.
Ein zur Lösung dieses Problems vorgeschlagenes System ermöglicht es, aus einer fetten Konturschrift und einer mageren Konturschrift eine dazwischenliegende Konturschrift zu erzeugen. Es können jedoch keine Konturschriften mit irgendeiner gewünschten Gewichtung erzeugt werden.
Da somit gewöhnliche Konturdaten kein Informationen bezüglich der Bewegung eines jeweiligen Kontur- oder Paßpunktes für die Berücksichtung einer jeweiligen Gewichtung enthalten, kann nicht für irgendeine Gewichtung die Lage eines jeweiligen Konturpunktes erfaßt werden.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Gerät und ein Verfahren zur Konturerzeugung zu schaffen, die Zeichen mit einer Vielzahl von Gewichtungen mittels eines einzigen Konturdatenworts erzeugen können.
Diese Aufgabe wird erfindungsgemäß durch ein Konturerzeu­ gungsgerät nach Anspruch 1 und ein Konturerzeugungsverfahren nach Anspruch 12 gelöst.
Eine erste Information, die Positionen von Konturpunkten zur Konturerzeugung eines Musters mit einer vorbestimmten Gewich­ tung anzeigt, und eine zweite Information sind in einer Spei­ chereinrichtung gespeichert. Die zweite Information ist für jeden Konturpunkt individuell vorgesehen, um Positionen von Konturpunkten zu bestimmen, die eine Kontur des Musters mit einer zu der vorbestimmten Gewichtung unterschiedlichen Ge­ wichtung erzeugen. Gewichtungsinformationen, die die Gewich­ tung des zu erzeugenden Musters anzeigen, werden mittels einer Eingabeeinrichtung eingegeben. Weiterhin wird auf Grundlage der ersten und zweiten Information die Position je­ des Konturpunktes zur Erzeugung der Kontur des Musters mit einer Gewichtung bestimmt, die durch die Gewichtungsinforma­ tion angezeigt wird. Schließlich wird eine Musterkontur unter Verwendung der bestimmten Konturpunkte erzeugt.
Es werden also Zeichen mit einer Vielzahl von Gewichtungen mittels eines einzigen Konturdatenwortes dadurch erzeugt, daß jeder Punkt auf einer Kontur mit einer Bewegungsinformation für die Bewegung von Konturpunkten versehen ist, wobei die Gewichtung als Parameter dient.
In den Unteransprüchen 2 bis 11 und 13 bis 23 sind vorteil­ hafte Ausgestaltungen der Erfindung gekennzeichnet.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung näher erläutert.
Fig. 1 ist eine Blockdarstellung, die die allgemeine Steuerung einer Konturformungseinrichtung gemäß einem Ausführungsbeispiel zeigt.
Fig. 2 ist eine Blockdarstellung, die die allgemeine Steuerung in dem Fall zeigt, daß die Konturformungseinrichtung gemäß dem Ausführungsbeispiel in einen Laserstrahldrucker eingebaut ist.
Fig. 3 zeigt ein Beispiel für ein Schriftbilddatenformat.
Fig. 4 ist eine Darstellung eines Zustands, bei dem die Schriftbilddaten nach Fig. 3 mit einem Gewicht 10 ausgegeben werden.
Fig. 5 ist eine Darstellung von Beispielen, bei denen eine einen Paßpunkt-Bewegungsvektor darstellende Funktion geändert wird.
Fig. 6 ist eine Tabelle, die einen Teil der Zusammenstellung von Konturdaten für das Kanji-Zeichen nach Fig. 3 darstellt.
Fig. 7 ist ein Ablaufdiagramm einer Steuerung zur Konturenformung gemäß dem ersten Ausführungsbeispiel.
Fig. 8A und 8B veranschaulichen die Art und Weise, wie eine einen Paßpunkt-Bewegungsvektor darstellende Primärfunktion erhalten wird.
Fig. 9 ist eine Darstellung eines Beispiels, bei dem aus Konturdaten für zwei Gewichte ein Paßpunkt- Bewegungsvektor erhalten wird.
Fig. 10 ist eine Darstellung eines Beispiels für einen durch eine Kurve dargestellten Paßpunkt- Bewegungsvektor.
Fig. 11 ist eine Tabelle, die die Zusammensetzung von Konturdaten bei einem zweiten Ausführungsbeispiel zeigt.
Fig. 12 ist ein Ablaufdiagramm einer Prozedur für das Berechnen und Ausgeben von Zeichenkonturdaten für ein gewünschtes Gewicht aus Konturdaten mit dem Format nach Fig. 11.
Fig. 13 zeigt die Art und Weise, wie aus Konturdaten mit drei oder mehr Gewichten ein nichtlinearer Vektor ermittelt wird.
Fig. 14 bis 16 sind jeweils ein Ablaufdiagramm, das einen Prozeß zum Ermitteln eines Paßpunkt- Bewegungsvektors für jeweilige Paßpunkte in einer Konturformungseinrichtung gemäß einem dritten Ausführungsbeispiel der Erfindung zeigt.
Fig. 17 bis 19 sind jeweils ein Ablaufdiagramm, das einen Prozeß zum Ermitteln eines Paßpunkt- Bewegungsvektors für einen jeweiligen Paßpunkt in einer Konturformungseinrichtung gemäß einem vierten Ausführungsbeispiel veranschaulicht.
Fig. 20 ist eine Tabelle, die die Zusammenstellung von Daten in einer Horizontalbewegungstabelle zeigt.
Fig. 21 ist eine Tabelle, die die Zusammenstellung von Daten in einer Vertikalbewegungstabelle zeigt.
Fig. 22 ist ein Ablaufdiagramm, die einen Prozeß zum Aufsuchen eines Paßpunktes veranschaulicht, der mit einem betrachteten Paßpunkt ein Paar bildet.
Fig. 23 ist eine Darstellung zum Beschreiben eine Prozesses für das Aufsuchen eines Paßpunktes, der mit einem betrachteten Paßpunkt ein Paar bildet.
Fig. 24 ist eine Tabelle, die die Zusammenstellung Von Konturdaten bei einem fünften Ausführungsbeispiel der Erfindung zeigt.
Fig. 25 ist ein Ablaufdiagramm, das einen Prozeß für das Transformieren von X- und Y-Koordinaten eines Paßpunktes gemäß dem fünften Ausführungsbeispiel zeigt.
Fig. 26 ist eine Blockdarstellung der allgemeinen Gestaltung einer Konturformungseinrichtung gemäß einem sechsten Ausführungsbeispiel der Erfindung.
Fig. 27 zeigt die Datenstruktur von Konturdaten bei einer Festplatte.
Fig. 28 ist ein Ablaufdiagramm, das einen Prozeß zur Datenausgabe bei dem sechsten Ausführungsbeispiel zeigt.
Fig. 29 ist ein Ablaufdiagramm, das einen Prozeß zum Speichern von Konturdaten bei dem sechsten Ausführungsbeispiel zeigt.
1. Ausführungsbeispiel
Die Fig. 1 ist eine Blockdarstellung, die allgemein die Gestaltung der Steuerung bei einer Konturformungseinrichtung gemäß diesem Ausführungsbeispiel veranschaulicht.
Die Einrichtung enthält eine Eingabeeinheit 11, die Codeinformationen, welche ein auszugebendes Bildmuster bestimmen, und Gewichtsinformationen für das Bestimmen des "Gewichtes" des Bildmusters aufnimmt. Bei diesem Ausführungsbeispiel wird ein Schriftzeichen als ein Beispiel für ein auszugebendes Bildmuster behandelt und ein das Bildmuster bestimmender Code wird als Zeichencode bezeichnet. Die Eingabeeinheit 11 ist an einen Computer 12 mit einer Zentraleinheit CPU für das Berechnen von Konturdaten für ein Zeichen aus dem Zeichencode und der Gewichtsinformation angeschlossen, die von der Eingabeeinheit 11 aufgenommen werden. Der Computer 12 ist an eine Speichereinheit 13 mit einem Festspeicher ROM 14 und einem Schreib/Lesespeicher RAM 15 angeschlossen. Der Festspeicher 14 speichert grundlegende Zeichendaten und dergleichen, während der Schreib/Lesespeicher 15 als Arbeitsspeicher für die von dem Computer 12 ausgeführten Berechnungen dient. Außerdem werden in dem Schreib/­ Lesespeicher 15 vorübergehend Zeichenkonturdaten gespeichert, die erhalten werden, wenn durch den Computer 12 die Grund-Zeichendaten aus dem Festspeicher 14 verarbeitet werden. Der Computer 12 ist ferner mit einer Ausgabeeinheit 16 verbunden, die die als Ergebnis der Verarbeitung durch den Computer 12 erhaltenen Zeichenkonturdaten ausgibt. Der Festspeicher 14 speichert Programme für das Ausführen Von durch Verschiedene Ablaufdiagramme dargestellten, nachfolgend beschriebenen Steuerungen.
Die Fig. 2 zeigt ein Beispiel für die Anwendung der Konturformungseinrichtung gemäß diesem Ausführungsbeispiel. Die Fig. 2 ist eine Blockdarstellung, die allgemein die Steuerung in einem Fall veranschaulicht, bei dem diese Konturformungseinrichtung in einen Laserstrahldrucker eingebaut ist. Mit 21 ist eine Aufnahmeeinheit für das Aufnehmen Von Druckdaten aus einem Verarbeitungscomputer bezeichnet. Mit 22 ist eine Bilderzeugungseinheit bezeichnet, die Schaltungen wie eine Zentraleinheit CPU, einen Festspeicher ROM und einen Schreib/Lesespeicher RAM enthält. Mit 23 ist eine Konturformungseinrichtung gemäß diesem Ausführungsbeispiel bezeichnet. Der Computer bzw. die Zentraleinheit 12, der Festspeicher 14 und der Schreib/­ Lesespeicher 15 nach Fig. 1 sind in der Bilderzeugungseinheit 22 enthalten. Diese Einrichtung wird durch den Computer 12 gesteuert. Das Programm für diese Steuerung ist in dem Festspeicher 14 gespeichert. Mit 24 ist ein Ausgabepuffer für das vorübergehende Speichern des durch die Bilderzeugungseinheit 22 geformten Bildes im Format eines Bitplanes bezeichnet. Mit 25 ist eine Druckereinheit bezeichnet, die aufgrund der in dem Ausgabepuffer 24 gespeicherten Daten Impulse für die Ansteuerung eines Lasers erzeugt, um dadurch auf einem Papier mit Toner ein Bild zu erzeugen.
Die Aufnahmeeinheit 21 nimmt aus dem nicht gezeigten Verarbeitungscomputer Druckdaten auf, die Zeichencodes und Gewichtinformationen enthalten. Die Schriftzeichen- Konturformungseinrichtung 23 und die Bilderzeugungseinheit 22 bewegen zum Erzeugen einer Kontur mit einem durch die Gewichtinformation bestimmten Gewicht einen jeden Paßpunkt eines durch einen Zeichencode bestimmten Zeichens und erzeugen unter Anwendung der bewegten Paßpunkte in dem Ausgabepuffer 24 ein Bildmuster. Auf diese Weise wird ein Zeichenbildmuster erzielt, dessen Dicke durch die Gewichtsinformation bestimmt ist.
Die Fig. 3 zeigt ein Beispiel für das Format von in der Konturformungseinrichtung gemäß diesem Ausführungsbeispiel benutzten Schriftzeichendaten. Die Daten sind diejenigen für den Kanji-Buchstaben in Groteskausführung. Der durch die ausgezogenen Linien in Fig. 3 dargestellte Teil stellt die Konturdaten bei dem Schriftzeichengewicht 1 dar. Die durch die gestrichelten Linien (Pfeile) dargestellten Vektoren sind Vektoren, die die Bewegungsbahn eines jeweiligen Paßpunktes bei einer Änderung des Gewichtes darstellen. Jeder Paßpunkt-Bewegungsvektor ist derart, daß X- und Y-Koordinaten als eine Funktion des Gewichtes dargestellt sind.
Die Fig. 4 ist eine Darstellung der Konturdaten des Grotesk- Kanji-Schriftzeichens nach Fig. 3 bei dem Gewicht 10. Bei diesem Ausführungsbeispiel stellt ein Gewicht 1 die schwächste Konturlinie dar, während das Gewicht 10 die fetteste Konturlinie darstellt.
Der Endpunkt eines jeden Paßpunkt-Bewegungsvektors nach Fig. 3 zeigt die Lage des jeweiligen Paßpunktes bei dem Gewicht 10. Demgemäß wird das Zeichenbildmuster mit dem Gewicht 10 gemäß Fig. 4 dadurch erhalten, daß die durch die Endpunkte dieser Paßpunkt-Bewegungsvektoren dargestellten Paßpunkte herangezogen werden.
Gemäß Fig. 3 enthalten die Konturdaten bei diesem Ausführungsbeispiel Koordinatendaten, die die Kontur des Schriftzeichens darstellen, und die Paßpunkt- Bewegungsvektoren betreffende, nachfolgend als Vektordaten bezeichnete Daten, die die Bahn der mit einer Änderung des Gewichtes verbundenen Bewegung der Konturkoordinaten darstellen. Gemäß der Darstellung in Fig. 3 bestehen die Vektordaten für jeweilige Paßpunkte des abgebildeten Kanji- Zeichens aus Daten für Paßpunkte ohne Vektoren, z. B. Paßpunkte a, b, c und d, und Daten, bei denen X- und Y- Koordinaten jeweils primäre Funktionen mit dem Gewicht als Parameter darstellen, z. B. für die Paßpunkte e, f und g.
Die Fig. 6 ist eine Tabelle, die einen Teil der zusammengestellten Konturdaten für das Kanji-Zeichen nach Fig. 3 zeigt. In Fig. 6 sind die Daten für die Paßpunkte a bis g nach Fig. 3 dargestellt. Hierbei stellen eine Kennung 1 den Anfang und das Ende einer Konturlinie, eine Kennung 2 die Eigenschaft der Konturenlinie, z. B. STR-LINE eine Gerade, eine Kennung 3 den Grad einer Funktion eines Paßpunkt-Bewegungsvektors in der X-Richtung und eine Kennung 4 den Grad einer Funktion des Paßpunkt-Bewegungsvektors in der Y-Richtung dar. Wenn die Kennung 3 "0" ist, zeigt dies an, daß sich der Koordinatenwert des Bewegungsvektors in der X-Richtung nicht ändert. Wenn die Kennung 3 "1" ist, zeigt dies an, daß sich der Koordinatenwert des Bewegungsvektors in der X-Richtung als eine Primärfunktion, d. h., linear mit einer Änderung des Gewichtes ändert. Auf gleiche Weise zeigt die Kennung 4 "0" an, daß sich der Koordinatenwert des Bewegungsvektors in der Y-Richtung nicht ändert. Wenn die Kennung 4 "1" ist, zeigt dies an, daß sich der Koordinatenwert des Bewegungsvektors in der Y-Richtung als primäre Funktion einer Änderung des Gewichtes, d. h., linear ändert.
In Fig. 6 stellen die Koordinate X und die Koordinate Y die Koordinaten eines jeweiligen Paßpunktes bei dem Gewicht 1 dar. Ferner stellen eine X-Vektorkomponente VEC-X und eine Y-Vektorkomponente VEC-Y jeweils die Bewegungsstrecke von den Koordinaten der Paßpunkte bei dem Gewicht 1 weg zu den Orten der jeweiligen Paßpunkte bei dem Gewicht 10 dar.
Die Fig. 7 ist ein Ablaufdiagramm, das einen Prozeß zum Steuern der Konturformung gemäß dem ersten Ausführungsbeispiel veranschaulicht. Zuerst werden bei einem Schritt S701 ein Zeichencode für ein auszugebendes Zeichen und bei einem Schritt S702 eine Gewichtsinformation aufgenommen. Der Zeichencode und die Gewichtsinformation werden in die Eingabeeinheit nach Fig. 1 eingegeben. Gemäß dem bei dem Schritt S701 aufgenommenen Zeichencode werden bei einem Schritt S703 aus dem Festspeicher 14 die Grund- Konturdaten ausgelesen. Als nächstes wird bei einem Schritt S704 die Anzahl Nmax der Paßpunkte mit aus dem Festspeicher ausgelesenen Konturdaten eingesetzt. Es folgt ein Schritt S705, bei der als Zählervariable n "1" eingesetzt wird. Nmax und n werden in den Schreib/Lesespeicher 15 nach Fig. 1 eingespeichert.
Bei einem Schritt S706 wird ermittelt, ob n den Wert Nmax überschritten hat. Das Programm schreitet zu einem Schritt S712 weiter, wenn n größer als Nmax ist, bzw. zu einem Schritt S707, wenn dies nicht der Fall ist. Der Prozeß in Schritten S707 bis 710 ist ein Prozeß bezüglich eines n-ten Datenelementes der Konturdaten gemäß Fig. 6. Bei dem Schritt S707 wird ermittelt, ob das n-te Element der Paßpunktdaten einen Paßpunkt-Bewegungsvektor in X-Richtung enthält. Wenn die Kennung 3 nicht "0" ist, enthalten die Daten einen Paßpunkt-Bewegungsvektor. Das Programm schreitet zu dem Schritt S708 weiter, wenn die Daten einen Bewegungsvektor enthalten, bzw. zu dem Schritt S709, wenn die Daten keinen Bewegungsvektor enthalten. Bei dem Schritt S708 wird aus der Gewichtsinformation und den Vektordaten für den Bewegungsvektor die X-Koordinate des Paßpunktes berechnet, was nachfolgend unter Bezugnahme auf die Fig. 8A beschrieben wird. Bei dem Schritt S709 wird ermittelt, ob das n-te Element der Paßpunktdaten einen Bewegungsvektor in der Y- Richtung enthält. Wenn die Kennung 4 nicht "0" ist, enthalten die Daten einen Paßpunkt-Bewegungsvektor. Das Programm schreitet zu dem Schritt S710 weiter, wenn die Daten einen Bewegungsvektor enthalten, bzw. zu dem Schritt S711, wenn die Daten keinen Bewegungsvektor enthalten. Bei dem Schritt S710 wird aus der Gewichtsinformation und den Vektordaten für den Bewegungsvektor die Y-Koordinate des Paßpunktes berechnet, was nachfolgend unter Bezugnahme auf die Fig. 8B beschrieben wird. Bei dem Schritt S711 wird die Zählervariable n aufgestuft, wonach das Programm zu dem Schritt S706 zurückkehrt, so daß der Prozeß bezüglich des nächsten Paßpunktes ausgeführt wird. Bei dem Schritt S712 werden die transformierten Daten aus der Ausgabeeinheit 16 abgegeben, wonach die Verarbeitung endet.
Die Fig. 8A und 8B sind Ablaufdiagramme, die ein Verfahren zum Ermitteln einer einen Paßpunkt-Bewegungsvektor darstellenden primären Funktion veranschaulichen. Bei diesem Beispiel wird eine primäre Funktion durch die Koordinaten X und Y eines Paßpunktes bei dem Gewicht 1 und die durch die X-Vektorkomponente und die Y-Vektorkomponente angezeigten Koordinaten der Komponenten eines Paßpunkt-Bewegungsvektors dargestellt, wie es durch Zusammensetzung der Konturdaten nach Fig. 6 gezeigt ist. Selbstverständlich werden aus dem Ausmaß der Bewegung eines jeweiligen Paßpunktes die Koordinaten des Endpunktes erhalten. Da im einzelnen der Ausgangspunkt und der Wert einer jeden Komponente des Paßpunkt-Bewegungsvektors bekannt sind, können leicht Konstanten A und B bestimmt werden und es kann damit eine primäre Funktion erhalten werden. Nach dieser primären Funktion können Konturdaten für Zeichen mit irgendeinem Gewicht ermittelt werden.
Bei einem Schritt S801 nach Fig. 8A werden als X1 der X- Koordinatenwert des Paßpunktes (die den X-Koordinatenwert für das Gewicht 1 anzeigende Koordinate X der Konturdaten nach Fig. 6) und als W1 das Gewicht 1 eingesetzt. Bei einem Schritt S802 wird der Komponentenwert des Vektors in X- Richtung als X10 angesetzt, während als W10 das Gewicht 10 angesetzt wird. Die bei den Schritten S801 und S802 eingestellten Daten werden bei dem Schritt S803 dazu herangezogen, einen X-Koordinatenwert für irgendein Gewicht W zu ermitteln. Auf gleichartige Weise kann in Schritten S804 bis S806 nach Fig. 8B ein Y-Koordinatenwert für irgendein Gewicht W ermittelt werden.
Die Fig. 9 zeigt ein Beispiel, bei dem ein Paßpunkt- Bewegungsvektor für einen jeden Paßpunkt automatisch berechnet wird. Bei diesem Beispiel wird der Bewegungsvektor aus den Konturdaten für zwei Gewichte erhalten. Gemäß diesem Beispiel wird ein Paßpunkt-Bewegungsvektor aus den Ortskoordinaten von Paßpunkten des Buchstabens "A" bei den Gewichten 1 und 10 ermittelt. Im einzelnen wird ein Vektor dadurch ermittelt, daß ein jeweiliger Paßpunkt für das Gewicht 1 als Ausgangspunkt und ein jeweiliger Paßpunkt für das Gewicht 10 als Endpunkt angesetzt werden. Wenn diese Werte entsprechend der Datenzusammenstellung nach Fig. 6 beschrieben sind, sind die Koordinaten X und Y die Koordinaten eines jeweiligen Paßpunktes bei dem Gewicht 1 und die Koordinaten X und Y des Endpunktes eines jeweiligen Paßpunkt-Bewegungsvektors sind die Differenz zwischen den Koordinaten X und Y für das Gewicht 10 und den Koordinaten X und Y für das Gewicht 1, nämlich die X-Vektorkomponente und die Y-Vektorkomponente.
Der Paßpunkt-Bewegungsvektor für einen jeweiligen Paßpunkt kann natürlich auch nach einem anderen Verfahren ermittelt werden. Ferner ist es auch möglich, daß ein Zeichner einen Paßpunkt-Bewegungsvektor revidiert. Wenn die ermittelten Bewegungsvektoren identisch sind, hat selbstverständlich das Verfahren zum Ermitteln des Vektors keine Auswirkung auf das Erzeugen der Zeichenkonturdaten für ein anderes Gewicht.
Es ist anzumerken, daß in Abhängigkeit von dem Paßpunkt Fälle auftreten, bei denen keine X-Vektorkomponente und/oder keine Y-Vektorkomponente vorliegt. Durch die Kennungen 3 und 4 wird jeweils erkannt, ob die X-Vektorkomponente bzw. die Y-Vektorkomponente vorliegt oder nicht. Infolgedessen kann ein Anteil ohne Vektordaten in einem geringeren Speicherraum abgespeichert werden, um Speicherkapazität zu sparen.
Gemäß dem vorstehend beschriebenen ersten Ausführungsbeispiel ist somit für einen jeglichen Punkt auf einer Zeichenkonturlinie ein Paßpunkt-Bewegungsvektor Vorgesehen, um das Gewicht verändern zu können. Als Ergebnis werden folgende Auswirkungen erzielt:
  • 1. Eine Änderung des Gewichts kann zu irgendeiner Dicke in Echtzeit berechnet werden.
  • 2. Im Vergleich zu einem Fall, bei dem eine Interpolation mit Konturlinien mit zwei verschiedenen Gewichten ausgeführt wird, kann die Datenmenge um eine Menge Verringert werden, die der Anzahl der bestehenden Paßpunkte ohne Bewegungsvektoren entspricht.
  • 3. Im Vergleich zu einem Fall, bei dem eine Interpolation mit Konturlinien mit zwei verschiedenen Gewichten ausgeführt wird, ist es nicht erforderlich, Berechnungen bezüglich Paßpunkten ohne Bewegungsvektoren auszuführen, so daß dadurch die Transformationsgeschwindigkeit erhöht ist.
  • 4. Da die Konturdaten mit einem Vektor versehen sind, ist die Datenverwaltung erleichtert.
2. Ausführungsbeispiel
Bei dem ersten Ausführungsbeispiel ist ein Fall beschrieben, bei dem der Bewegungsvektor eines jeweiligen Paßpunktes durch einen primären Ausdruck dargestellt ist. Wenn jedoch eine Figur komplizierter wird, treten Vektordaten auf, die durch eine Vielfalt von Funktionen dargestellt sind. In Abhängigkeit von den Paßpunkten umfassen die die Vektordaten darstellenden Funktionen primäre bzw. lineare Funktionen, quadratische Funktionen, Polynom-Funktionen, trigonometrische Funktionen und Funktionen, welche sich mit dem Gewicht als Grenzwert ändern. Da zumeist jeder Paßpunkt- Bewegungsvektor durch ein Polynom dargestellt ist, ist es erforderlich, die Vektordaten für einen jeden Paßpunkt zusammen mit Informationen für das Ableiten der Koeffizienten des Polynoms zu speichern.
Demzufolge wird als zweites Ausführungsbeispiel eine Konturformungseinrichtung beschrieben, bei der ein Paßpunkt- Bewegungsvektor die Form einer Kurve zweiten oder höheren Grades hat.
Die Fig. 10 zeigt ein Beispiel für einen durch eine Kurve dargestellten Paßpunkt-Bewegungsvektor. Dies ist ein Beispiel, bei dem bei der Konturformungseinrichtung nach Fig. 1 ein Paßpunkt-Bewegungsvektor bei einem jeweiligen Paßpunkt für ein geändertes Gewicht die Form einer primären Geraden oder einer Kurve zweiten Grades (quadratischen Kurve) oder höheren Grades hat. D. h., die Bahn der dem Gewicht entsprechenden Bewegung eines jeden Paßpunktes ist durch eine Gerade oder durch eine Kurve dargestellt. Beispielsweise ist das Kanji-Schriftzeichen "-" der Groteskschrift derart beschaffen, daß sich jeder Paßpunkt in der X-Richtung erweitert, sobald das Gewicht größer wird (das Schriftzeichen fetter wird), obgleich das Ausmaß der Bewegung des jeweiligen Paßpunktes in keinem festen Verhältnis zu der Bewegung in der Y-Richtung steht. In diesem Fall wird eine näher an der ursprünglichen Bahn liegende Bahn durch das Darstellen der Bahn durch eine Kurve zweiten oder höheren Grades ausgedrückt.
Die Fig. 11 ist eine Tabelle, die die Zusammensetzung der Konturdaten bei dem zweiten Ausführungsbeispiel zeigt. Hierbei stellen eine Kennung 1 den Anfang oder das Ende einer Konturlinie, eine Kennung 2 die Eigenschaft einer Konturlinie, eine Kennung 3 den Grad einer Funktion der Bahn der Paßpunktbewegung in X-Richtung und eine Kennung 4 den Grad einer Funktion der Bahn der Paßpunktbewegung in Y- Richtung dar. Als Kennung 2 bedeuten STR-LINE, ST-C, INT-C und EN-C jeweils "Gerade", "Kurvenanfang", "Kurvenzwischenpunkt" und "Kurvenende". Wenn die Kennung 3 "0" ist, zeigt dies an, daß sich der Koordinatenwert in der X-Richtung bei einer Änderung des Gewichtes nicht ändert. Wenn die Kennung 3 "1" ist, zeigt dies an, daß sich der Koordinatenwert in der X-Richtung als primäre Funktion, d. h. linear mit einer Änderung des Gewichtes ändert. Wenn die Kennung 3 "2" ist, zeigt dies an, daß sich der Koordinatenwert in der X-Richtung nach einer quadratischen Funktion, nämlich krummlinig in bezug auf eine Änderung des Gewichtes ändert. Auf ähnliche Weise kann dann, wenn die Kennung 3 "3" oder größer ist, die Bewegung durch eine kompliziertere Kurve ausgedrückt werden. Die Kennung 4 hat in bezug auf die Y-Richtung die gleiche Bedeutung wie die Kennung 3. Bezüglich eines jeden Paßpunktes sind die Koordinaten eines dem Grad des Paßpunktes entsprechenden Punktes in der Reihenfolge des entsprechenden Gewichtes angeordnet. D. h., als Punkte, die eine im ersten Grad ausgedrückte Bahn beschreiben, sind außer den Koordinaten des Paßpunktes die Koordinaten eines Punktes gespeichert. Im Falle des zweiten Grades sind außer den Koordinaten des Paßpunktes die Koordinaten zweier Punkte gespeichert. Abhängig von dem Grad des Bewegungsvektors eines jeweiligen Paßpunktes sind X-Vektorkomponenten 1, 2, .... bzw. VEC-X1, 2, .... gespeichert. Diese werden dazu herangezogen, eine Rechengleichung für den Vektor an einem jeweiligen Paßpunkt zu ermitteln.
Bei diesem Ausführungsbeispiel ist das Ausmaß der Bewegung eines Paßpunktes bei dem Gewicht 10 als X-Vektorkomponente 1 (VEC-X1) und Y-Vektorkomponente 1 (VEC-Y1) gespeichert. Ferner sind das Ausmaß der Bewegung eines Paßpunktes bei dem Gewicht 5 als X-Vektorkomponente 2 bzw. VEC-X2 und Y- Vektorkomponente 2 bzw. VEC-Y2 und das Ausmaß der Bewegung eines Paßpunktes bei dem Gewicht 3 als X-Vektorkomponente 3 bzw. VEC-X3 und Y-Vektorkomponente 3 bzw. VEC-Y3 gespeichert.
Die Fig. 12 ist ein Ablaufdiagramm eines Prozesses, bei dem aus den Konturdaten mit dem Format nach Fig. 11 Schriftzeichen-Konturdaten für ein gewünschtes Gewicht berechnet und ausgegeben werden. Eine bei einem Schritt S1207 genannte Betriebsart "Skizze" stellt eine Ausgabebetriebsart dar, bei der die Geschwindigkeit Vorrang gegenüber der Zeichenqualität hat. Zum Annähern der Bewegungsbahnen aller Paßpunkte durch einen linearen Ausdruck bei der Betriebsart "Skizze" wird die Berechnung unter der Annahme ausgeführt, daß ein einem gewünschten Gewicht entsprechender Paßpunkt auf einer geraden Linie liegt, die einem Punkt auf einer Konturlinie für das geringste Gewicht (1) mit einem Punkt auf einer Konturlinie für das höchste Gewicht (10) verbindet. Falls die Betriebsart nicht die Betriebsart "Skizze" ist, wird zum Ermitteln der Koordinaten der Paßpunkte eine Berechnung in einem Grad gemäß den Konturdaten ausgeführt.
Es wäre anzumerken, daß das Umschalten auf die Betriebsart "Skizze" durch Bestimmen der Ausgabebetriebsart durch einen die Druckdaten übertragenden Verarbeitungscomputer oder durch das Bestimmen des Umschaltens mit einem Steuerschalter an der Eingabeeinheit 11 vorgenommen werden kann. Ferner kann bezüglich des Wählens der Ausgabebetriebsart das Umschalten beispielsweise in Abhängigkeit von der erforderlichen Ausgabequalität vorgenommen werden. Wenn geringe Qualität gefordert ist, wird die Betriebsart "Skizze" gewählt. Darüberhinaus kann in Abhängigkeit von der zum Erzeugen der Konturdaten geforderten Geschwindigkeit umgeschaltet werden. In diesem Fall wird auf die Betriebsart "Skizze" umgeschaltet, wenn ein schnelles Erzeugen verlangt ist.
Als erstes nimmt bei Schritten S1201 und S1202 nach Fig. 12 die Eingabeeinheit 11 den Zeichencode für das auszugebende Zeichen und die Gewichtsinformation auf, welche das Gewicht des Zeichens bestimmt. Bei einem Schritt S1203 werden entsprechend dem bei dem Schritt S1201 aufgenommenen Zeichencode aus dem Festspeicher 14 die Grund-Konturdaten ausgelesen. Als nächstes wird bei einem Schritt S1204 als Nmax die Anzahl von Paßpunkten mit aus dem Festspeicher ausgelesenen Konturdaten eingesetzt. Es folgt ein Schritt S1205, bei dem als Zählervariable n "1" eingesetzt wird. Bei einem Schritt S1206 wird ermittelt, ob n größer als Nmax geworden ist. Das Programm schreitet zu einem Schritt S1218 weiter, wenn n größer als Nmax ist, bzw. andernfalls zu dem Schritt S1207. Bei dem Schritt S1207 wird ermittelt, ob die Ausgabebetriebsart der Bilderzeugungseinheit die Betriebsart "Skizze" ist. Wenn die Ausgabebetriebsart nicht die Betriebsart "Skizze" ist, wird der Prozeß von einem Schritt S1208 an ausgeführt, während der Prozeß von einem Schritt S1213 an ausgeführt wird, wenn die Ausgabebetriebsart die Betriebsart "Skizze" ist.
Wenn die Ausgabebetriebsart nicht die Betriebsart "Skizze" ist, wird bei dem Schritt S1208 ermittelt, ob der n-te Paßpunkt einen Bewegungsvektor in X-Richtung hat. Wenn die Kennung 3 nicht "0" ist, hat der Paßpunkt einen Bewegungsvektor. Das Programm schreitet zu einem Schritt S1209 weiter, wenn die Daten einen Bewegungsvektor enthalten, bzw. zu einem Schritt S1210, wenn kein Bewegungsvektor in X-Richtung vorliegt. Bei dem Schritt S1209 wird aus der Gewichtsinformation und den Vektordaten für den Bewegungsvektor die X-Koordinate des Paßpunktes berechnet. Die Gleichung für das Berechnen der Bewegungsbahn eines Paßpunktes wird dabei durch den als Kennung 3 gespeicherten Grad der Kurvenfunktion und die X- Vektorkomponenten 1, 2, .... bestimmt. Wenn beispielsweise der Grad einer Kurve "2" ist, werden die X-Vektorkomponenten 1 und 2 herangezogen. Auf gleichartige Weise wird bei dem Schritt S1210 und einem Schritt S1211 die Y-Koordinate des Paßpunktes ermittelt. Nachdem bei einem Schritt S1212 die Variable n aufgestuft wurde, kehrt das Programm zu dem Schritt S1206 zurück, so daß der vorstehend beschriebene Prozeß für den nächsten Paßpunkt wiederholt wird. Wenn diese Verarbeitung für alle Paßpunkte abgeschlossen ist, schreitet das Programm von dem Schritt S1206 zu dem Schritt S1218 weiter, bei dem die Daten aus der Ausgabeeinheit 16 ausgegeben werden. Damit ist die Verarbeitung beendet.
Falls die Ausgabebetriebsart die Betriebsart "Skizze" ist, schreitet das Programm von dem Schritt S1207 zu einem Schritt S1213 weiter.
Bei diesem Schritt wird ermittelt, ob für den n-ten Paßpunkt ein Bewegungsvektor in X-Richtung vorliegt. Wenn die Daten einen Bewegungsvektor enthalten, schreitet das Programm zu einem Schritt S1214 weiter. Dies wird durch die Ermittlung bestimmt, ob die Kennung 3 "0" ist oder nicht. Bei dem Schritt S1214 wird aus den X-Koordinaten der Paßpunkte für die Gewichte 1 und 10 die Gleichung für das Berechnen des Bewegungsvektors als lineare Gleichung bestimmt und zum Ermitteln der X-Koordinate des Paßpunktes mit dem gewünschten Gewicht herangezogen. Die X-Koordinatenwerte für die Gewichte 1 und 10 werden aus den X-Koordinaten und den X-Vektorkomponenten 1 der Konturdaten nach Fig. 11 ermittelt. In Schritten S1215 und S1216 werden durch einen zu dem vorstehend beschriebenen Prozeß bei den Schritt S1213 und S1214 gleichartigen Prozeß auch die Y-Koordinaten ermittelt. Danach wird bei einem Schritt S1217 die Variable n aufgestuft und das Programm kehrt zu dem Schritt S1206 zurück.
Die Fig. 13 veranschaulicht die Art und Weise, wie aus Konturdaten für drei oder mehr Gewichte ein nichtlinearer Vektor berechnet wird. Dies stellt ein Beispiel dar, bei dem der Vektor eines jeweiligen Paßpunktes auf automatische Weise durch Berechnung ermittelt wird. Bei diesem Beispiel wird ein Paßpunkt-Bewegungsvektor, der durch einen quadratischen Ausdruck dargestellt ist, aus Gewichten 1, 5 und 10 des Kanji-Zeichens "-" ermittelt. D. h., es wird ein Bewegungsvektor gemäß einer quadratischen Funktion ermittelt, gemäß der der Vektor an einem Paßpunkt für das Gewicht 1 beginnt, einen Punkt für das Gewicht 5 durchläuft und an einem Paßpunkt für das Gewicht 10 endet. In diesem Fall stellen die Koordinaten X und Y die Koordinaten des Paßpunktes für das Gewicht 1 dar, während die X- und Y- Vektorkomponenten die Koordinaten des Paßpunktes für das Gewicht 10 anzeigen, nämlich tatsächlich die Lage in bezug auf diejenige bei dem Gewicht 1. Ferner zeigen die X- und Y- Vektorkomponenten 2 das Ausmaß der Bewegung des Paßpunktes für das Gewicht 5 an. Die X- und Y-Vektorkomponenten 3 zeigen das Ausmaß der Bewegung des Paßpunktes für das Gewicht 3 an.
In Abhängigkeit von der Speicherkapazität und der Leistungsfähigkeit der Zentraleinheit bzw. des Computers kann gewählt werden, ob Daten für eine lineare Funktion oder Daten für eine quadratische Funktion bzw. eine Funktion höherer Ordnung herangezogen werden. Dabei ist es einfach, die Daten für eine quadratische Funktion oder eine Funktion höherer Ordnung zu Daten für eine lineare Funktion zu transformieren. Im Falle einer Annäherung eines Paßpunkt- Bewegungsvektors durch eine lineare Funktion entstehen jedoch Fälle, bei denen dies zu einer gewissen Verringerung der Zeichenqualität im Vergleich zu dem Fall führt, daß zum Bestimmen eines Bewegungsvektors ein quadratischer Ausdruck herangezogen wird.
Bei dem vorstehend beschriebenen zweiten Ausführungsbeispiel sind als Ausgabebetriebsarten zwei Betriebsarten, nämlich die Betriebsart "Skizze" und die normale Betriebsart vorgesehen. Dies stellt jedoch keine Einschränkung der Erfindung dar. Beispielsweise können dreierlei Ausgabebetriebsarten vorgesehen werden wie die gewöhnliche Betriebsart, eine erste Skizzenbetriebsart und eine zweite Skizzenbetriebsart. Bei der ersten Skizzenbetriebsart werden als Funktionen für die Bewegungsbahnen aller Paßpunkte quadratische Funktionen oder Funktionen niedrigeren Grades angesetzt. Bei der zweiten Skizzenbetriebsart werden als Funktionen für die Bewegungsbahnen aller Paßpunkte lineare Funktionen bzw. Funktionen niedrigerer Ordnung angesetzt. Diese Gestaltungen können gleichfalls leicht gemäß der Beschreibung dieses Ausführungsbeispiels realisiert werden.
Da der Grad einer Funktion für eine Bewegungsbahn in Abhängigkeit von dem Paßpunkt unterschiedlich ist, ist auch die Anzahl der Elemente der Vektordaten verschieden. Der Grad der Vektordaten in X- und Y-Richtung wird jeweils durch die Kennungen 3 und 4 bestimmt. Infolgedessen kann ein Teil, für den keine Vektordaten vorliegen, in einem geringeren Speicherraum gespeichert werden, um in Abhängigkeit von dem Grad der Vektordaten Speicherkapazität einzusparen.
Somit ist gemäß dem vorstehend beschriebenen zweiten Ausführungsbeispiel für einen jeden Punkt auf einer Zeichenkonturlinie ein Vektor vorgesehen, um das Gewicht verändern zu können. Als Ergebnis werden folgende Auswirkungen erzielt:
  • 1. Das Gewicht kann mit einer höheren Güte geändert werden.
  • 2. Ein Abschnitt, der durch eine gerade Linie dargestellt werden kann, wird durch eine Gerade dargestellt, wodurch es möglich wird, die Daten ohne allzu große Erhöhung der Datenmenge zu speichern.
  • 3. Es kann gewählt werden, ob ein Schriftzeichen durch Kurven hoher Qualität oder durch gerade Linien mit hoher Geschwindigkeit entwickelt wird.
  • 4. Im Falle einer Vielzahl Von Datenelementen ist die Datenverwaltung einfacher.
3. Ausführungsbeispiel
Als drittes Ausführungsbeispiel der Erfindung wird eine Konturformungseinrichtung beschrieben, in welcher ein Paßpunkt-Bewegungsvektor aus einem einzigen Paßpunkt ermittelt wird und dieser Bewegungsvektor zum Ermitteln der Koordinaten eines Paßpunktes für ein jeweiliges Gewicht herangezogen wird. Die Gestaltung der Konturformungseinrichtung gemäß dem dritten Ausführungsbeispiel ist zu derjenigen bei dem ersten Ausführungsbeispiel gleichartig und muß nicht erneut beschrieben werden.
Die Fig. 14, 15 und 16 sind Ablaufdiagramme, die einen Prozeß zum Ermitteln eines Bewegungsvektors für einen jeweiligen Paßpunkt veranschaulichen. Da ein Paßpunkt- Bewegungsvektor aus einem Zeichen mit nur einem Gewicht ermittelt werden kann, ist im Vergleich zu dem Fall, daß gemäß Fig. 9 ein Vektor aus Zeichen mit zwei oder mehr Gewichten ermittelt wird, die Menge an Konturdaten verringert und die Datenverwaltung vereinfacht.
Bei dem Prozeß gemäß dem in Fig. 14 gezeigten Ablaufdiagramm werden für eine mit einer Änderung des Gewichtes zusammenhängende horizontale Bewegung eines jeweiligen Paßpunktes aus der Lage des Paßpunktes für das Gewicht 1 heraus drei Arten unterschieden, nämlich keine Horizontalbewegung, eine eingeschränkte horizontale Bewegung und eine horizontale Bewegung ohne Einschränkung. Die Art der Bewegung kann aus der Lagebeziehung zwischen ein Paar bildenden KOnturlinienvektoren und einer anderen Konturlinie oder Zeichenrahmenlinie (Hauptrahmenlinie) hergeleitet werden. Wenn sich beispielsweise ein Paßpunkt horizontal in einer zu einem Konturlinienvektor eines Paares entgegengesetzten Richtung um eine Strecke bewegt, die gleich der Differenz zwischen einer normalen Horizontallinienbreite bei dem Gewicht 10 und einer normalen Horizontallinienbreite bei dem Gewicht 1 ist, kann dieser Paßpunkt eine andere Konturlinie berühren oder überqueren oder nicht oder aus dem Hauptrahmen des Zeichens heraustreten oder nicht. Daher wird die Möglichkeit der Bewegung als Kennung angesetzt. Eine gleichartige Bestimmung wird hinsichtlich der vertikalen Richtung Vorgenommen. Es ist anzumerken, daß die ein Paar bildenden Konturlinienvektoren nachfolgend unter Bezugnahme auf die Fig. 22 und 23 beschrieben werden.
Bei diesem Ausführungsbeispiel werden bei einem Schritt S1401 die normale Horizontallinienbreite und die normale Vertikallinienbreite bei dem Gewicht 1 und dem Gewicht 10 eingegeben. Es ist vorausgesetzt, daß diese normalen Linienbreiten in Abhängigkeit von dem jeweiligen Schriftbild von vorneherein in dem Festspeicher 14 gespeichert sind. Als nächstes werden bei einem Schritt S1402 als Nmax die gesamte Anzahl von Paßpunkten und als den Zählwert der Paßpunkte anzeigende Zählervariable n "1" eingesetzt. Die Gesamtanzahl Nmax der Paßpunkte und die Zählervariable n werden wie bei dem ersten Ausführungsbeispiel in den Schreib/Lesespeicher 15 eingespeichert. Bei einem Schritt S1403 wird ermittelt, ob n größer als Nmax ist. Das Programm schreitet zu einem Schritt S1501 (Fig. 15) weiter, wenn n größer ist, und zu einem Schritt S1404, wenn n gleich oder kleiner als Nmax ist. Bei dem Schritt S1404 wird der n-te Paßpunkt abgerufen.
Bei einem Schritt S1405 wird ermittelt, ob sich der erfaßte n-te Paßpunkt in der horizontalen Richtung bewegen kann. Das Programm schreitet zu einem Schritt S1408 weiter, wenn die Bewegung nicht möglich ist, oder zu einem Schritt S1406, wenn die Bewegung möglich ist. Bei dem Schritt S1406 wird ermittelt, ob die Bewegung in der horizontalen Richtung eingeschränkt ist oder nicht. Das Programm schreitet zu einem Schritt S1409 weiter, wenn die Bewegung eingeschränkt ist, bzw. zu einem Schritt S1407, wenn die Bewegung nicht eingeschränkt ist. Da bei dem Schritt S1407 keine Einschränkung der horizontalen Bewegung des Paßpunktes besteht, wird eine Kennung gesetzt, die anzeigt, daß die horizontale Bewegung des Paßpunktes groß ist. Wenn bei dem Schritt S1405 ermittelt wird, daß die horizontale Bewegung nicht möglich ist, wird bei dem Schritt S1408 eine Kennung gesetzt, die anzeigt, daß die horizontale Bewegung unmöglich ist. Wenn bei dem Schritt S1406 ermittelt wird, daß die horizontale Bewegung eingeschränkt ist, wird bei dem Schritt S1409 eine Kennung gesetzt, die anzeigt, daß die Strecke der horizontalen Bewegung des Paßpunktes klein ist.
Als nächstes wird von einem Schritt S1410 an das Ausmaß der Bewegung in der vertikalen Richtung geprüft. Bei dem Schritt S1410 wird ermittelt, ob sich der erfaßte n-te Paßpunkt in der vertikalen Richtung bewegen kann. Das Programm schreitet zu einem Schritt S1413 weiter, wenn die Bewegung nicht möglich ist, bzw. zu einem Schritt S1411, wenn die Bewegung möglich ist. Bei dem Schritt S1411 wird ermittelt, ob die Bewegung in der vertikalen Richtung eingeschränkt ist oder nicht. Das Programm schreitet zu einem Schritt S1414 weiter, wenn die Bewegung eingeschränkt ist, oder zu einem Schritt S1412, wenn die Bewegung nicht eingeschränkt ist. Da bei dem Schritt S1412 keine Einschränkung der vertikalen Bewegung des Paßpunktes vorliegt, wird eine Kennung gesetzt, die anzeigt, daß das Ausmaß der vertikalen Bewegung des Paßpunktes groß ist. Falls bei dem Schritt S1410 ermittelt wird, daß die vertikale Bewegung nicht möglich ist, wird bei dem Schritt S1413 eine Kennung gesetzt, die anzeigt, daß die vertikale Bewegung nicht möglich ist. Falls bei dem Schritt S1411 ermittelt wird, daß die vertikale Bewegung eingeschränkt ist, wird bei dem Schritt S1414 eine Kennung gesetzt, die anzeigt, daß das Ausmaß der vertikalen Bewegung des Paßpunktes gering ist.
Bei einem Schritt S1415 wird die Paßpunkte-Zählervariable n aufgestuft, wonach das Programm zu dem Schritt S1403 zurückkehrt. Daher schreitet dann, wenn für alle Paßpunkte die Kennungen zur Anzeige der Bewegungsgröße gesetzt sind, das Programm von dem Schritt S1403 zu dem Schritt S1501 weiter.
Das Ausmaß der Bewegung eines jeweiligen Paßpunktes wird aus den auf diese Weise erhaltenen Kennungen ermittelt, die die Klassifizierung der Bewegungsgrößen aller Paßpunkte darstellen. Die Fig. 15 veranschaulicht den Prozeß zum Ermitteln des Bewegungsausmaßes. Bei der Berechnung der Bewegungsgröße wird ein Vektor in der Weise berechnet, daß die in Übereinstimmung mit dem ein Paar von Paßpunkten bildenden Paßpunkt erforderliche Dicke erzielt wird. Zu diesem Zweck wird zusammen mit einer Kennung für einen Punkt, dessen Bewegungsausmaß berechnet wird, und einer Kennung für den Paßpunkt des Paares eine Subroutine für das Berechnen des Bewegungsausmaßes abgerufen.
Es wird nun das Ablaufdiagramm in Fig. 15 beschrieben. Bei dem Schritt S1501 wird als Nmax die Gesamtanzahl der Paßpunkte eingesetzt und die Paßpunkt-Zählervariable n wird auf "1" eingestellt. Bei einem Schritt S1502 wird ermittelt, ob n größer als Nmax ist. Wenn n größer ist, endet der Prozeß. Wenn n gleich oder kleiner Nmax ist, schreitet das Programm zu einem Schritt S1503 weiter.
Bei diesem Schritt wird der n-te Paßpunkt abgerufen, wonach bei einem Schritt S1504 der mit dem n-ten Paßpunkt ein Paar bildende Paßpunkt abgerufen wird. Der das Paar bildende Paßpunkt ist ein Paßpunkt, welcher bezüglich des n-ten Paßpunktes die Breite in vertikaler oder horizontaler Richtung bestimmt. Für einen Paßpunkt werden zwei Paßpunkte abgerufen, nämlich ein Paßpunkt, der ein Paar in der horizontalen Richtung bildet, und ein Paßpunkt, der ein Paar in der vertikalen Richtung bildet, und es werden die die jeweiligen Bewegungsgrößen darstellenden Kennungen abgefragt. Bei einem Schritt S1505 werden die Bewegungsgrößen eines Paßpunktes in der horizontalen und der vertikalen Richtung für den Fall einer Änderung von dem Gewicht 1 auf das Gewicht 10 ermittelt. Daher werden diese Größen bei einem Schritt S1506 als X-Vektorkomponente und Y- Vektorkomponente für den jeweiligen Paßpunkt angesetzt. Das Verfahren zum Ermitteln der Lage eines Paßpunktes für ein jeweiliges Gewicht unter Heranziehen der X-Vektorkomponente und der Y-Vektorkomponente ist das gleiche wie bei dem ersten Ausführungsbeispiel und muß daher nicht erneut beschrieben werden.
Die Fig. 16 zeigt eine Subroutine für das Berechnen der Bewegungsgröße. Die Fig. 16 ist ein Ablaufdiagramm, das die Einzelheiten der Verarbeitung bei dem Schritt S1505 nach Fig. 15 darstellt. Es ist anzumerken, daß die Bewegungsgröße im voraus durch die Kennungen für die große oder geringe horizontale Bewegung oder die große oder geringe vertikale Bewegung bestimmt ist. Das Ausmaß der Bewegung wird aus den Kennungen für das Paar der Paßpunkte und aus den normalen Liniendicken berechnet. Beispielsweise wird im Falle eines großen Bewegungsausmaßes bei der Bewegungsgröße die Differenz in bezug auf die normale Horizontallinienbreite angewandt. Im Falle eines geringen Bewegungsausmaßes wird die Hälfte dieser Größe als Bewegungsgröße angesetzt.
Zuerst wird bei einem Schritt S1601 nach Fig. 16 das Ausmaß der horizontalen Bewegung des Paßpunktes durch eine Kennung bestimmt, welche die Bewegungsgröße darstellt und gemäß dem Ablaufdiagramm in Fig. 14 gesetzt ist. Ferner wird das Ausmaß der horizontalen Bewegung eines bei dem Schritt S1503 abgefragten Paßpunktes, der das Paar in der horizontalen Richtung bildet, entsprechend einer die Bewegungsgröße darstellenden Kennung bestimmt. Bei einem Schritt S1602 wird entsprechend einer die Bewegungsgröße darstellenden, gemäß dem Ablaufdiagramm in Fig. 14 gesetzten Kennung das Ausmaß der vertikalen Bewegung des Paßpunktes bestimmt. Ferner wird entsprechend einer die Bewegungsgröße darstellende Kennung das Ausmaß der vertikalen Bewegung des bei dem Schritt S1503 abgefragten Paßpunktes bestimmt, der das Paar in der horizontalen Richtung bildet.
Daraufhin folgt ein Schritt S1603, bei dem das Ausmaß der horizontalen Bewegung des betrachteten Paßpunktes, das Ausmaß der horizontalen Bewegung des mit diesem Paßpunkt das Paar in der horizontalen Richtung bildenden Paßpunktes und die normale Horizontallinienbreite bei dem Gewicht 1 addiert und als W eingesetzt. Gleichermaßen werden bei einem Schritt S1604 das Ausmaß der vertikalen Bewegung des betrachteten Paßpunktes, das Ausmaß der vertikalen Bewegung des mit diesem Paßpunkt dar Paar in der vertikalen Richtung bildenden Paßpunktes und die normale Vertikallinienbreite bei dem Gewicht 1 addiert und als H eingesetzt.
Der bei dem Schritt S1603 erhaltene Wert W wird bei einem Schritt S1605 mit der normalen Horizontallinienbreite bei dem Gewicht 10 verglichen. Wenn W größer ist, bedeutet dies, daß die Horizontallinienbreite zu groß ist. Daher wird bei einem Schritt S1606 das Ausmaß der Bewegung korrigiert. Im einzelnen wird das bei dem Schritt S1601 bestimmte Ausmaß der horizontalen Bewegung des Paßpunktes mit
[(normale Horizontallinienbreite für das Gewicht 10) - (normale Horizontallinienbreite für das Gewicht 1)]/-­ [W - (normale Horizontallinienbreite für das Gewicht 1)]
multipliziert, wodurch die Horizontallinienbreite für das Gewicht 10 derart korrigiert wird, daß sie nicht die normale Horizontallinienbreite übersteigt. Wenn bei dem Schritt S1605 ermittelt wird, daß W gleich der oder kleiner als die normale Horizontallinienbreite für das Gewicht 10 ist, wird das bei dem Schritt S1601 bestimmte Ausmaß der horizontalen Bewegung unverändert eingesetzt.
Hinsichtlich der vertikalen Richtung werden bei Schritten S1607 und S1608 Prozesse ausgeführt, die den vorangehend beschriebenen Prozessen bei den Schritten S1605 und S1606 gleichartig sind. Auf diese Weise wird das Ausmaß der Bewegung (oder die Lage) eines jeweiligen Paßpunktes für das Gewicht 10 berechnet. Daher kann durch Ansetzen dieser Bewegungsgröße nach einem Verfahren wie bei dem ersten Ausführungsbeispiel ein Paßpunkt-Bewegungsvektor ermittelt werden.
Für das Herausgreifen eines ein Paar von Paßpunkten bildenden Paßpunktes bei dem Schritt S1504 nach Fig. 15 gibt es verschiedenerlei Verfahren. Ein Beispiel für ein solches Verfahren wird unter Bezugnahme auf die Fig. 22 und 23 beschrieben. Die Fig. 22 ist ein Ablaufdiagramm, das einen Prozeß zum Herausgreifen eines Paßpunktes ist, welcher mit einem betrachteten Paßpunkt ein Paar bildet, während die Fig. 23 eine Darstellung für das Beschreiben eines Vorgangs für das Herausgreifen eines Paßpunktes ist, welcher mit einem betrachteten Paßpunkt ein Paar bildet.
Zuerst wird bei einem Schritt S2201 ein Konturlinienvektor herausgegriffen, dessen Anfangspunkt der betrachtete Paßpunkt ist. Auf ähnliche Weise wird bei einem Schritt S2202 ein Konturlinienvektor herausgegriffen, dessen Endpunkt der betrachtete Paßpunkt ist. Dementsprechend wird der Konturlinienvektor derart gelegt, daß die Innenseite der Konturlinie immer an der linken Seite in bezug auf die Richtung des Vektors liegt. Bei den vorstehend beschriebenen Schritten S2201 und S2202 werden beispielsweise ein Konturlinienvektor 2300b, dessen Anfangspunkt ein Paßpunkt 2300 nach Fig. 23 ist, und ein Konturlinienvektor 2300a herausgegriffen, dessen Endpunkt der Paßpunkt 2300 ist.
Als nächstes wird bei einem Schritt S2203 eine Abtastung horizontal an der linken Seite der Richtung der herausgegriffenen Konturlinienvektors vorgenommen und es wird ein ein Paar bildender Konturlinienvektor herausgegriffen. Dies wird unter Bezugnahme auf die Fig. 23 beschrieben. Wenn von dem Konturlinienvektor 2300b weg beispielsweise auf einer Abtastlinie 2300c ein Konturlinienvektor erfaßt wird, wird als Vektor des Paares ein Konturlinienvektor 2305b herausgegriffen. Wenn ferner entlang einer Abtastlinie 2300d ein Konturlinienvektor erfaßt wird, wird ein Konturlinienvektor 2302b herausgegriffen.
Bei einem Schritt S2204 wird ermittelt, ob mehrere Vektoren für das Paar herausgegriffen sind oder nicht. Das Programm schreitet zu einem Schritt S2206 weiter, wenn nur ein Vektor erfaßt wird, oder zu einem Schritt S2205, wenn mehrere Vektoren erfaßt werden. Bei dem Schritt S2205 wird für den den betrachteten Paßpunkt enthaltenden Konturlinienvektor als Paar derjenige Vektor herausgegriffen, der in der horizontalen Richtung am nächsten liegt. D. h., gemäß Fig. 23 liegt der Konturlinienvektor 2302b näher als der Konturlinienvektor 2305b, so daß daher der erstere als Vektor des Paares herangezogen wird.
Von den beiden Endpunkten des auf diese Weise herausgegriffenen Konturlinienvektors wird als das Paar bildender Paßpunkt derjenige verwendet, der dem betrachteten Paßpunkt am nächsten kommt. D. h., gemäß Fig. 23 ist von den beiden Endpunkten des Konturlinienvektors 2302b der zu dem Paßpunkt 2300 in kürzestem Abstand liegende Endpunkt ein Paßpunkt 2301. Daher wird dieser Punkt als Paßpunkt angesetzt, der das Paar in der horizontalen Richtung bildet.
Die Verarbeitung bei Schritten S2207 bis S2210 ergibt eine Abtastung in der vertikalen Richtung zum Ermitteln desjenigen Paßpunktes, der ein Paar in der vertikalen Richtung bildet. Diese Verarbeitung ist zu derjenigen für die horizontale Richtung gemäß den vorangehenden Ausführungen gleichartig und muß daher nicht nochmals beschrieben werden. Der Paßpunkt 2301 nach Fig. 23 wird als derjenige Paßpunkt ermittelt, der mit dem Paßpunkt 2300 das Paar in der vertikalen Richtung bildet. Wenn diese Verarbeitung beispielsweise in bezug auf einen Paßpunkt 2302 ausgeführt wird, ist ersichtlich, daß als der ein Paar in der horizontalen Richtung bildende Paßpunkt ein Paßpunkt 2303 herausgegriffen wird und als der ein Paar in der vertikalen Richtung bildende Paßpunkt ein Paßpunkt 2304 erfaßt wird.
Bei dem vorstehend beschriebenen dritten Ausführungsbeispiel ist es möglich, automatisch aus einem Gewicht einen Vektor für das Bewegen eines Paßpunktes entsprechend dem Gewicht in bezug auf jeden Punkt auf einer Zeichenkonturlinie zu berechnen. Dies ergibt die folgenden Auswirkungen:
  • 1. Da ein Vektor für das Erzeugen eines anderen Gewichtes aus einem Gewicht berechnet werden kann, ist der Prozeß für das Entwerfen der Zeichenbildmuster verkürzt.
  • 2. Im Vergleich zu dem Fall, daß ein Vektor aus mehreren Elementen der Konturinformationen berechnet wird, ist die Datenverwaltung vereinfacht.
4. Ausführungsbeispiel
Bei dem vierten Ausführungsbeispiel wird ein Paßpunkt- Bewegungsvektor auf gleiche Weise wie bei dem dritten Ausführungsbeispiel aus einem Paßpunkt für ein Gewicht ermittelt. Bei der nachstehend beschriebenen Konturformungseinrichtung ist jedoch das Bewegungsausmaß, das durch eine Kombination einer Kennung für die Bewegungsgröße eines bestimmten Paßpunktes mit einer Kennung für eine Bewegungsgröße eines mit dem bestimmten Paßpunkt ein Paar bildenden Paßpunktes bestimmt ist, von vorneherein in Form einer Tabelle vorgesehen. Die Gestaltung der Bilderzeugungseinrichtung gemäß dem vierten Ausführungsbeispiel ist derjenigen bei dem ersten Ausführungsbeispiel gleichartig und muß nicht nochmals beschrieben werden.
Die Fig. 17 bis 19 sind Ablaufdiagramme, die ein Verfahren zum automatischen Ermitteln von Daten, die bei der Einrichtung gemäß dem ersten Ausführungsbeispiel angewandt werden, aus der Lage eines Paßpunktes veranschaulichen. Durch das Bilden von Bewegungsgrößen in Form einer Tabelle kann im Vergleich zu dem Verfahren bei dem dritten Ausführungsbeispiel das Ausmaß an Berechnung verringert werden und es ist auch einfacher, durch eine feinere Unterteilung der Tabelle die Qualität zu verbessern.
Gemäß dem Ablaufdiagramm in Fig. 17 ist eine horizontale Bewegung von der Stelle eines Punktes auf einer Zeichenkonturlinie weg in dreierlei Arten unterteilt, nämlich zu einer nicht möglichen horizontalen Bewegung, zu einer horizontalen Bewegung mit Einschränkungen und zu einer uneingeschränkten horizontalen Bewegung. Die Art der Bewegung kann aus der Lagebeziehung zwischen Paaren von Konturlinienvektoren und einer anderen Konturlinie oder der Hauptrahmenlinie hergeleitet werden. D. h., wenn sich ein Paßpunkt horizontal in einer Gegenrichtung zu einem Konturlinienvektor eines Paares um eine Strecke bewegt, die gleich der Differenz zwischen einer normalen Horizontallinienbreite bei dem Gewicht 10 und einer normalen Horizontallinienbreite bei dem Gewicht 1 ist, kann dieser Paßpunkt eine andere Konturlinie berühren oder überqueren oder aus dem Hauptrahmen des Schriftzeichens heraustreten oder nicht. Daher wird die Möglichkeit der Bewegung als Kennung angesetzt. Eine gleichartige Bestimmung erfolgt in bezug auf die vertikale Richtung.
Zur feineren Unterteilung der Möglichkeit der Bewegung erfolgt die Klassifizierung in Abhängigkeit davon, ob die Bewegung nicht möglich ist (der Paßpunkt eine andere Konturlinie überschneidet oder aus dem Hauptrahmen heraustritt), wenn sich der Paßpunkt um einen bestimmten Prozentsatz der Differenz zwischen den normalen Horizontallinienbreiten für die Gewichte 1 und 10 bewegt.
Schritte S1701 bis S1715 in dem Ablaufdiagramm in Fig. 17 sind den Schritten S1401 bis S1415 in dem Ablaufdiagramm in Fig. 14 gleichartig und müssen nicht nochmals beschrieben werden. Aus den gemäß dem Ablaufdiagramm in Fig. 17 ermittelten Kennungen für das Bewegungsausmaß aller Paßpunkte wird die tatsächliche Bewegungsgröße ermittelt. Die Fig. 18 veranschaulicht ein Verfahren zum Ermitteln dieser Bewegungsgröße. Bei der Berechnung der Bewegungsgröße wird das Ausmaß der Bewegung aus einer Tabelle aufgrund einer Kombination aus der Kennung für das Bewegungsausmaß eines Paßpunktes und der Kennung für das Ausmaß der Bewegung eines ein Paar bildenden Paßpunktes abgerufen.
Gemäß Fig. 18 sind Schritte von S1801 bis S1807 mit Ausnahme eines Schrittes S1805 die gleichen wie die Schritte S1501 bis S1507 nach Fig. 15 mit Ausnahme des Schrittes S1505. Der Schritt S1805 ist ein Prozeß für das Abrufen des absoluten Wertes der Bewegungsgröße aus einer Tabelle für die horizontale Bewegung und einer Tabelle für die vertikale Bewegung. Die Einzelheiten sind in Fig. 19 dargestellt.
Die Fig. 19 zeigt eine Subroutine für das Berechnen der Bewegungsgröße. Die Tabelle für die horizontale Bewegung und die Tabelle für die vertikale Bewegung können hierbei in Abhängigkeit von der Schriftart und dem Schriftzeichen vertauscht werden. Es sind feinere Einstellungen von Vektoren möglich.
Gemäß Fig. 19 werden bei einem Schritt S1901 eine Kennung, die das Ausmaß der Bewegung eines betrachteten Paßpunktes darstellt, und eine Kennung aufgenommen, die das Ausmaß der Bewegung eines Paßpunktes darstellt, der mit dem betrachteten Paßpunkt ein Paar bildet. Als nächstes wird bei einem Schritt S1902 die Kennung, die das Ausmaß der Bewegung eines jeden Paßpunktes darstellt, dazu herangezogen, eine Tabelle für die horizontale Bewegung in der in Fig. 20 gezeigten Ausführung abzusuchen und den Absolutwert des Ausmaßes der Bewegung in der horizontalen Richtung abzurufen. Es wird die Richtung einer Bewegung in einer von dem das Paar bildenden Paßpunkt wegführenden Richtung bestimmt. Darauf folgt ein Schritt S1903, bei dem wie bei dem Schritt S1901 eine Kennung, die das Ausmaß der Bewegung eines betrachteten Paßpunktes darstellt, und eine Kennung abgefragt, die das Ausmaß der Bewegung eines Paßpunktes darstellt, der mit dem betrachteten Paßpunkt ein Paar in der vertikalen Richtung bildet. Als nächstes wird bei einem Schritt S1904 die das Ausmaß der Bewegung eines jeweiligen Paßpunktes darstellende Kennung dazu herangezogen, eine Tabelle der in Fig. 21 gezeigten Art für die vertikale Bewegung abzusuchen, wobei der Absolutwert der Größe der Bewegung in der vertikalen Richtung abgerufen wird. Die Richtung der Bewegung in einer von dem das Paar bildenden Paßpunkt weg führenden Richtung wird bestimmt.
Auf diese Weise wird das Ausmaß der Bewegung eines Paßpunktes für das Gewicht 10 ermittelt. Dieses wird daher zum Berechnen eines Paßpunkt-Bewegungsvektors herangezogen, so daß das Ausmaß der Bewegung des Paßpunktes entsprechend einem jeweiligen Gewicht berechnet werden kann.
Die Fig. 20 und 21 zeigen Tabellen für das Abfragen der Bewegungsgrößen nach Fig. 19. Die Fig. 20 ist eine Tabelle für das Ausmaß der horizontalen Bewegung, während die Fig. 21 eine Tabelle für das Ausmaß der vertikalen Bewegung ist. Die Tabellen werden gemäß der Kombination aus der Kennung für das Bewegungsausmaß eines Paßpunktes der Kennung für das Bewegungsausmaß des das Paar bildenden Paßpunktes abgefragt und es wird die entsprechende Bewegungsgröße abgerufen, welche dann zur Vektorerzeugung herangezogen wird.
Bei dem vorstehend beschriebenen vierten Ausführungsbeispiel wird unter Verwendung einer Tabelle für einen jeden Punkt auf einer Zeichenkonturlinie für ein einziges Gewicht ein Paßpunkt-Bewegungsvektor für ein geändertes anderes Gewicht bestimmt. Dies ergibt die folgenden Auswirkungen:
  • 1. Da aus einem Gewicht der Vektor für ein anderes Gewicht berechnet werden kann, ist der Prozeß für das Gestalten von Schriftzeichenbildern verkürzt.
  • 2. Im Vergleich zu dem Fall, daß ein Vektor aus mehreren Elementen von Konturinformationen berechnet wird, ist die Datenverwaltung einfacher.
  • 3. Durch das Aufstellen einer Vielzahl von Tabellen ist es möglich, einen Paßpunkt-Bewegungsvektor zum Entwickeln der Schriftzeichen einer Vielzahl von Schriftarten in höherer Qualität zu erzeugen.
  • 4. Durch feinere Festlegung der Bewertungsbedingungen ist es möglich, einen Vektor zu erzeugen, mit dem ein Schriftzeichen zu einer höheren Qualität entwickelt werden kann.
Bei dem vorstehend beschriebenen dritten und vierten Ausführungsbeispiel können die Bewegungsgrößen der Paßpunkte für alle Schriftzeichen im voraus berechnet werden, wenn genügend Speicherkapazität zur Verfügung steht. Durch das Speichern dieser Bewegungsgrößen in dem in Fig. 6 dargestellten Format kann die Geschwindigkeit der Verarbeitung erhöht werden, was nachfolgend bei dem sechsten Ausführungsbeispiel beschrieben wird.
Bei dem dritten und vierten Ausführungsbeispiel werden die Bewegungsbahnen bis zu dem Gewicht 10 aus dem jeweiligen Paßpunkt der Konturdaten für das Gewicht 1 ermittelt. Die Erfindung ist jedoch nicht hierauf beschränkt. Beispielsweise kann eine Gestaltung angewandt werden, bei der die Bewegungsbahn für das Gewicht 1 aus jedem Paßpunkt bei den Konturdaten für das Gewicht 10 mit großer Linienbreite ermittelt wird. Darüberhinaus kann durch Anwenden des dritten und vierten Ausführungsbeispiels die Bewegungsbahn eines Paßpunktes aus irgendwelchen Konturdaten für die Gewichte 2 bis 9 ermittelt werden. Falls beispielsweise die Konturlinie für das Gewicht 3 herangezogen wird, kann durch einen Prozeß, der dem bei dem vorangehenden Ausführungsbeispiel gleichartig ist, aus der normalen Horizontallinienbreite und der normalen Vertikallinienbreite für das Gewicht 3 sowie der normalen Horizontallinienbreite und der normalen Vertikallinienbreite für das Gewicht 10 ein Bewegungsvektor ermittelt werden.
Ferner sind zwar wie bei dem dritten und dem vierten Ausführungsbeispiel angesetzten normalen Horizontallinienbreiten und normalen Vertikallinienbreiten für die Gewichte 1 und 10 für jegliche Schriftart vorgegeben, jedoch kann eine Gestaltung angewandt werden, bei der diese Breiten für jedes Bildmuster angegeben sind.
Ferner ist in der Tabelle für die horizontale Bewegung (Fig. 20) und in der Tabelle für die vertikale Bewegung (Fig. 21), die bei dem vorangehend beschriebenen vierten Ausführungsbeispiel verwendet werden, das Ausmaß der Bewegung durch die Kombination von Kennungen für drei Arten von Bewegung bestimmt. Die Erfindung ist jedoch nicht hierauf eingeschränkt. Vielmehr kann eine Gestaltung angewandt werden, bei der die Unterteilung des Ausmaßes der Bewegung feiner ist und bei der eine Kombination aus Kennungen für vier oder mehr Arten von Bewegungsgrößen herangezogen wird. Im Gegensatz dazu kann auch eine Anordnung gewählt werden, bei der die Unterteilung der Bewegungsgröße gröber ist und eine Kombination von Kennungen für zweierlei Bewegungsgrößen herangezogen wird. Ferner kann durch das Aufstellen von vielerlei Arten von Tabellen für die horizontale und die vertikale Bewegung mit unterschiedlicher Feinheit der Unterteilung der Bewegungsgrößen die Feinheit der Unterteilung entsprechend der Geschwindigkeit der Erzeugung und der geforderten Qualität bei dem Erzeugen der Konturdaten abgeändert werden. In diesem Fall wird zwar die Qualität bei der Konturenformung verbessert, wenn das Ausmaß der Bewegung feiner unterteilt ist, aber dabei die Verarbeitungszeit verlängert.
5. Ausführungsbeispiel
Bei jedem der vorangehend beschriebenen Ausführungsbeispiele ist ein Paßpunkt-Bewegungsvektor durch eine einzige Funktion dargestellt und die Lage eines jeden Paßpunktes für ein jeweiliges Gewicht ist festgelegt. Bei diesem fünften Ausführungsbeispiel wird ein Fall beschrieben, bei dem sich die Funktion des Bewegungsvektors eines Paßpunktes mit einem bestimmten Gewicht als Grenzwert ändert.
Die Fig. 5 zeigt Beispiele, bei denen sich eine einen Paßpunkt-Bewegungsvektor darstellende Funktion ändert. Bei einem der Beispiele ändert sich an einem betrachteten Punkt die Funktion der X-Koordinate mit dem Gewicht 4 als Grenzwert. Im einzelnen ändert sich für das Gewicht 4 oder darüber die X-Koordinate nicht mehr. Die Y-Koordinate ändert sich entsprechend einer Funktion zweiten oder höheren Grades.
Die Fig. 24 zeigt eine Tabelle von Konturdaten bei dem fünften Ausführungsbeispiel der Erfindung. In Fig. 24 sind die Kennungen 1 bis 4, die Koordinaten X und Y und die jeweiligen X- und Y-Vektorkomponenten die gleichen wie diejenigen gemäß Fig. 11 bei dem zweiten Ausführungsbeispiel, so daß diese Daten nicht wieder beschrieben werden müssen. Eine Kennung 5 stellt einen Gewichtswert dar, an welchem sich die Funktion für einen Bewegungsvektor eines Paßpunktes in X-Richtung ändert. Eine Kennung 6 stellt einen Gewichtswert dar, bei dem sich die Funktion eines Bewegungsvektors eines Paßpunktes in Y- Richtung ändert. Beispielsweise ist als Kennung 5 an dem betrachteten Punkt "4" gespeichert. Falls sich die Funktion des Bewegungsvektors nicht ändert, ist "0" gespeichert. Falls die Kennung 5 oder 6 von "0" verschieden ist, ändert sich der durch das jeweilige Element der Koordinatendaten in der nächsten Spalte angezeigte Inhalt. Falls beispielsweise "4" als Kennung 5 gespeichert ist, ist als X-Koordinate der für das Gewicht 4 geltende Wert gespeichert. Die Daten, die in dem Fall herangezogen werden, daß der Gewichtswert 4 oder größer ist, sind als Kennung 3 und als X-Koordinate gespeichert.
Im einzelnen sind dann, wenn sich die Funktion des Bewegungsvektors eines Paßpunktes mit einem bestimmten Gewichtswert als Grenzwert ändert, die Konturdaten auf einer Vielzahl von Spalten gespeichert. Beispielsweise sind die Vektordaten für die Gewichte 1 bis 4 in der ersten Spalte und die Vektordaten für die Gewichte 4 bis 10 in der zweiten Spalte gespeichert. Falls ferner sich eine Funktion bei mehreren Gewichtswerten ändert, genügt es, die Daten dementsprechend in einer dritten und einer Vierten Spalte zu speichern. Bei dem Beispiel nach Fig. 24 ändert sich an einem Paßpunkt a die Funktion des Bewegungsvektors in der X- Richtung bei dem Gewicht 4. Bei den Gewichten über 4 ist die Kennung in der zweiten Spalte "0", so daß sich daher die X- Koordinate nicht mehr ändert. Andererseits ist der Bewegungsvektor an dem Paßpunkt a in der Y-Richtung unverändert (die Kennung 6 ist nicht "0"). Bei diesem Beispiel kann eine derartige Anordnung gewählt werden, daß in den Spalten von der zweiten Spalte an nur die erforderlichen Daten gespeichert werden.
An einem Paßpunkt b ändert sich die Funktion des Bewegungsvektors in der X-Richtung bei dem Gewicht 5, während sich die Funktion des Bewegungsvektors in der Y- Richtung bei den Gewichten 3 und 7 ändert. Die Funktion des Bewegungsvektors in der Y-Richtung wird bei den Gewichten 1 bis 3 zu einer quadratischen Funktion und bei den Gewichten 4 bis 7 zu einer linearen primären Funktion bzw. Geraden. Bei den Gewichten 8 bis 10 liegen keinerlei Änderungen vor.
Die Fig. 25 ist ein Ablaufdiagramm, das einen Prozeß zur Transformation von X- und Y-Koordinaten eines Paßpunktes gemäß dem fünften Ausführungsbeispiel veranschaulicht. Es ist anzumerken, daß der Prozeß für die Ausgabe der Schriftzeichen-Konturdaten bei dem fünften Ausführungsbeispiel im wesentlichen der gleiche wie derjenige gemäß dem Ablaufdiagramm in Fig. 12 bei dem zweiten Ausführungsbeispiel ist und nur der Prozeß zur Koordinatentransformation verschieden ist. Infolgedessen zeigt das Ablaufdiagramm in Fig. 25 nur denjenigen Abschnitt, der den Schritten S1208 bis S1211 nach Fig. 12 entspricht. Ferner sind die Gewichtswerte der jeweiligen X- und Y-Vektorkomponenten im voraus gesondert in bezug auf diejenigen gespeichert, für die sich die Funktion ändert.
Bei einem Schritt S2401 wird ermittelt, ob die Kennung 5 "0" ist. Wenn diese Kennung "0" ist, ändert sich die Funktion nicht und daher schreitet das Programm zu einem Schritt S2402 weiter, bei dem die Daten abgerufen werden, die in der ersten Spalte für den betreffenden Paßpunkt gespeichert sind. Falls die Kennung 5 nicht "0" ist, schreitet das Programm zu einem Schritt S2403 weiter. Bei diesem Schritt wird von der ersten Spalte und den nachfolgenden Spalten die durch den Wert der Kennung 5 bestimmte Spalte herangezogen und es werden die in der betreffenden Spalte gespeicherten Daten abgerufen. Die Transformation der X-Koordinate wird unter Ansetzen der auf diese Weise bei dem Schritt S2402 oder S2403 abgerufenen Daten ausgeführt. Im einzelnen wird bei einem Schritt S2404 die Kennung 3 geprüft und es wird ermittelt, ob der X-Vektor besteht. Falls der X-Vektor besteht, schreitet das Programm zu einem Schritt S2405 weiter, bei dem aus der Gewichtsinformation und den Vektordaten für den Paßpunkt-Bewegungsvektor die X- Koordinate des Paßpunktes berechnet wird. Die die Bahn der Bewegung des Paßpunktes darstellende Gleichung wird dabei gemäß dem als Kennung 3 gespeicherten Grad der Krümmungsfunktion und den X-Vektorkomponenten 1, 2, ... bestimmt.
Schritte S2406 bis S2410 stellen den Prozeß bezüglich der Y- Koordinate dar. Diese Schritte sind den vorangehend beschriebenen Schritten S2401 bis S2405 gleichartig und werden daher nicht nochmals beschrieben.
Auf diese Weise ist es mit der Schriftzeichen- Konturformungseinrichtung gemäß diesem Ausführungsbeispiel möglich, einem Fall gerecht zu werden, bei dem sich die Funktion des Bewegungsvektors eines Paßpunktes mit einem Gewichtswert als Grenzwert ändert.
6. Ausführungsbeispiel
Das sechste Ausführungsbeispiel der Erfindung betrifft eine Konturdatenspeichereinrichtung für das Erzeugen von Bewegungsinformationen für einen jeweiligen Paßpunkt, die es ermöglicht, aus Paßpunktdaten für ein Gewicht Schriftzeichen mit mehreren Gewichten zu erzeugen und zusammen mit Lageinformationen für einen jeden Paßpunkt der Konturdaten die Bewegungsinformationen für den jeweiligen Paßpunkt zu speichern.
In der Konturdatenspeichereinrichtung gemäß dem sechsten Ausführungsbeispiel werden in einem Speicher gespeicherte Konturdaten mit Lageinformationen und Gewichtsinformationen für einen jeweiligen Paßpunkt ausgelesen. Beispielsweise kann durch das Auslesen von Konturdaten für die Gewichte 1 und 10 die Bahn der Bewegung eines jeweiligen Paßpunktes von dem Gewicht 1 zum Gewicht 10 als primäre bzw. lineare Funktion erhalten werden, bei der gemäß Fig. 9 das Gewicht ein Parameter ist. Die Informationen für das Erzeugen der auf diese Weise erhaltenen linearen Funktion sind in einem Speicher beispielsweise in dem Format nach Fig. 6 zusammen mit den Lageinformationen für einen jeden Paßpunkt gespeichert.
Die Fig. 26 ist eine Blockdarstellung, die schematisch die Steuerung einer Konturformungseinrichtung gemäß dem sechsten Ausführungsbeispiel der Erfindung zeigt. Die mit den in Fig. 1 gezeigten Blöcken identischen Blöcke sind mit den gleichen Bezugszeichen bezeichnet und werden nicht nochmalig beschrieben. Mit 14' ist ein Festspeicher ROM bezeichnet, in welchem Konturdaten für ein bestimmtes Gewicht gespeichert sind. Die Konturdaten sind allgemeine Konturdaten und enthalten keine Bewegungsinformationen für andere Gewichte. Mit 17 ist eine Festplatte für das Speichern von Konturdaten bezeichnet, die einen Paßpunkt-Bewegungsvektor enthalten, der gemäß den in dem Festspeicher 14' gespeicherten Konturdaten erzeugt wird. D. h., die Konturdatenspeichereinrichtung gemäß dem sechsten Ausführungsbeispiel berechnet aus den in dem Festspeicher 14' gespeicherten allgemeinen Konturdaten Bewegungsvektordaten für einen Paßpunkt und speichert die Konturdaten zusammen mit diesen Bewegungsvektordaten in die Festplatte 17 ein.
Die Fig. 27 zeigt die Datenstruktur der Konturdaten in der Festplatte 17. Mit 1701 ist ein Kopfteil bezeichnet, welche die Schriftartbezeichnung, die Zeichenanordnung (Art des Codesatzes), den Codebereich, das Gewicht und die Variation der Konturdaten enthält. Die Schriftartbezeichnung gibt die Kategorie der Schriftart an (gotisch, Ming usw.). Die Zeichenanordnung gibt an, ob die Anordnung einem System wie ASCII, JIS0208 und dergleichen entspricht. Falls sie beispielsweise dem System ASCII entspricht, ist sie durch einen Code wie 0x42 dargestellt; falls sie dem System JIS0208 entspricht, ist sie durch einen Code wie 0xC2 dargestellt. Der Codebereich ist ein Bereich, der durch die Anfangsnummer (des Anfangscodes) und die Endnummer (des Endcodes) der dem Zeichen zugeordneten Codedaten dargestellt ist. Beispielsweise ist jedem Kanji-Schriftzeichen nach dem ersten JIS-System als Code eine Nummer in einem Bereich von (sedezimal) 3021 bis (sedezimal) 4F7E zugeordnet. Demgemäß ist der Kopfcode 3021 und der Endcode 4F7E. Das Gewicht ist ein numerischer Wert, der die Dicke des Schriftzeichens darstellt. Die Variation stellt die Form des Schriftzeichens dar, wie die komprimierte Form, die verbreiterte Form, die Schrägschriftform und dergleichen.
Mit 1702 ist ein Zeigerbereich für das Speichern eines Zeigers bezeichnet, der die Speicherstelle eines jeden Elementes der Zeichenkonturdaten angibt. Der Zeiger gibt die Anzahl von Bytes einer Versetzung von dem Anfang des Kopfteils bis zu der Adresse an, an der die Konturdaten für das jeweilige Zeichen gespeichert wurden. Die Anzahl der Zeiger ist gleich der Anzahl der gespeicherten Schriftzeichen. Beispielsweise ist im Falle eines Kanji- Schriftzeichens nach dem ersten JIS-System die Anzahl von Zeigern für (4F - 30 + 1) × (7E - 21 + 1) = 3008 ausreichend (wobei gemäß dem JIS-System als die beiden wertniedrigen Digitalstellen einer Codenummer die Werte von 7E bis 21 verwendet werden). Dementsprechend ist ein Zeiger zu dem Anfangscode ein Versetzungswert für das Bestimmen einer Adresse, an der die Konturdaten für das Kanji-Schriftzeichen mit der Codenummer 3021 gespeichert wurden. Auf ähnliche Weise ist ein Zeiger zum Endcode ein Versetzungswert zum Bestimmen einer Adresse, an der die Konturdaten für das Kanji-Schriftzeichen mit der Codenummer 4F7E gespeichert wurden.
Mit 1703 ist ein Bereich zum Speichern der Zeichenkonturdaten bezeichnet. Die darin gespeicherten Zeichenkonturdaten sind aus den in dem Festspeicher 14' gespeicherten Konturdaten erzeugte Konturdaten, die Informationen über einen Paßpunkt-Bewegungsvektor enthalten. Der Inhalt dieser Daten wurde bei dem ersten bis fünften Ausführungsbeispiel beschrieben und wird hier nicht nochmals erläutert.
Die vorstehend genannten Konturdaten werden in der Festplatte 17 als Datei verwaltet. In der Festplatte 17 werden als Datei durch verschiedenerlei Verarbeitungen erzeugte Daten gespeichert (Schriftstückdateien gemäß Verarbeitung von Schriftstücken und dergleichen). Ob eine Datei eine Konturdatendatei ist oder nicht, wird durch eine Dateinamenerweiterung oder-Information in einem auf der Festplatte 17 gespeicherten Verzeichnis erfaßt und erkannt. Bei einer großen Anzahl von Schriftzeichen ist es möglich, eine Schriftart auf mehrere Dateien aufzuteilen. Dabei beurteilt die Zentraleinheit 12 aufgrund der in dem Kopfteil 1701 gespeicherten Informationen (der Bezeichnung der Schriftart, der Zeichenanordnung, des Codebereichs, des Gewichtes und der Variation), welche Datei welchem Code für welche Schriftart entspricht.
Die Fig. 28 ist ein Ablaufdiagramm, das einen Datenausgabeprozeß gemäß dem sechsten Ausführungsbeispiel veranschaulicht. Bei einem Schritt S2801 werden die Informationen für das Bestimmen der Datei mit den Schriftzeichen-Konturdaten eingegeben (die Schriftartbezeichnung, die Zeichenanordnung, das Gewicht und die Variation). Als nächstes werden bei einem Schritt S2802 die bei dem Schritt S2801 eingegebenen Informationen mit dem Kopfteil 1701 der jeweiligen Schriftzeichenkonturdaten-Datei verglichen, wobei die zu verwendende Datei bestimmt wird und ausgelesen wird. Danach werden bei einem Schritt S2803 gemäß dem bei dem Schritt S2801 eingegebenen Zeichencode die dem betreffenden Zeichencode entsprechenden Zeichenkonturdaten ausgelesen. Es folgt ein Schritt S2804, bei dem die Zentraleinheit 12 die Bewegungsvektordaten die Lage des Paßpunktes des Schriftzeichens entsprechend dem bestimmten Gewicht ansetzt. Der Prozeß der Berechnung der Lage des Paßpunktes wurde bei dem ersten bis fünften Ausführungsbeispiel beschrieben und wird hier nicht nochmalig erläutert. Die auf diese Weise ermittelten Zeichenkonturdaten werden bei einem Schritt S2805 aus der Ausgabeeinheit 16 ausgegeben.
Als nächstes wird ein Prozeß beschrieben, in welchem aus den nachstehend als ursprüngliche Konturdaten bezeichneten Konturdaten ohne Informationen bezüglich eines Paßpunkt- Bewegungsvektors, nämlich ohne Bewegungsinformationen die Konturdaten mit den Bewegungsinformationen erzeugt werden und die erzeugten Konturdaten in die Festplatte 17 eingespeichert werden. Die Fig. 29 ist ein Ablaufdiagramm, das den Prozeß zum Erzeugen und Speichern der Korrekturdaten bei dem sechsten Ausführungsbeispiel veranschaulicht.
Bei einem Schritt S2901 werden die Kopfinformationen für die in eine zu erzeugende Schriftzeichenkonturdatei einzuspeichernden Konturdaten bestimmt. Die Kopfinformationen sind die in dem Kopfteil 1701 nach Fig. 27 gespeicherten Informationen. Als nächstes wird bei einem Schritt S2902 gemäß den eingestellten Kopfinformationen eine Datei ausgegeben, der Kopfteil 1701 erzeugt und der Zeigerbereich 1702 gesichert. Hierbei ist die Größe des Zeigerbereichs 1702 durch die aus dem Codebereich in den Kopfinformationen berechnete Anzahl von Schriftzeichen bestimmt. Bei einem Schritt S2903 wird als Variable N die Anzahl der Schriftzeichen eingesetzt und als Zählstand C "1" eingesetzt. Die Variable N und der Zählstand C sind in dem Schreib/Lesespeicher 15 festgelegte Bereiche.
Bei einem Schritt S2904 wird festgestellt, ob der Zählstand C größer als die Variable N ist. Wenn C größer als N ist, wird dieser Prozeß beendet. Wenn andererseits C nicht größer als N ist, schreitet das Programm zu einem Schritt S2905 weiter, bei dem aus dem Festspeicher 14' die ursprünglichen Konturdaten und deren Gewicht ausgelesen werden. Falls die ursprünglichen Konturdaten für mehrere Gewichte bereitgestellt wurden, werden alle diese Daten ausgelesen. Darauf folgt ein Schritt S2906, bei dem entsprechend der Anzahl der Elemente der ausgelesenen Konturdaten Paßpunkt- Bewegungsvektordaten erzeugt werden. Falls beispielsweise bei dem Schritt S2905 ursprüngliche Konturdaten für die Gewichte 1 und 10 ausgelesen wurden, werden für einen Paßpunkt zwei Koordinaten erhalten. Aufgrund dieser Koordinaten werden Vektordaten für eine primäre bzw. lineare Funktion ermittelt, bei der das Gewicht des jeweiligen Paßpunktes ein Parameter ist. Wenn ursprüngliche Paßpunktdaten für drei verschiedene Punkte ausgelesen wurden, kann auf gleichartige Weise ein Paßpunkt- Bewegungsvektor durch eine quadratische Funktion ausgedrückt werden, in welcher das Gewicht ein Parameter ist. Aus diesem Paßpunkt-Bewegungsvektor wird die als Korrekturdaten der in Fig. 11 dargestellten Art zu speichernde Bewegungsgröße eines Paßpunktes für ein Gewicht berechnet und es werden die Daten wie die X-Vektorkomponente 1 ermittelt. Das Verfahren zum Berechnen eines solchen als Konturdaten zu speichernden Paßpunkt-Bewegungsvektors ist aus der Beschreibung des ersten und zweiten Ausführungsbeispiels ersichtlich und muß nicht nochmals beschrieben werden. Falls ferner nur Konturdaten für ein Gewicht vorliegen, wird gemäß der Beschreibung des dritten und vierten Ausführungsbeispiels ein Paßpunkt-Bewegungsvektor unter Anwendung einer Bewegungskennung ermittelt. Auf diese Weise werden die den Paßpunkt-Bewegungsvektor betreffenden Daten erzeugt.
Es ist anzumerken, daß im Falle der Anwendung des Verfahrens gemäß dem dritten und vierten Ausführungsbeispiel in dem Festspeicher 14' und der Festplatte 17 im voraus eine normale Horizontallinienbreite, eine normale Vertikallinienbreite, eine Tabelle der Horizontalbewegungs­ größen und eine Tabelle der Vertikalbewegungsgrößen gespeichert werden.
Bei einem Schritt S2907 werden die Daten als Zeichenkonturdaten einschließlich der bei dem Schritt S2906 erzeugten Daten für den Paßpunkt-Bewegungsvektor eingesetzt und die Datei wird zu dem Speicherbereich 1703 für die Zeichenkonturdaten ausgegeben. Die Stelle, an der diese Zeichenkonturdaten gespeichert wurden, wird in dem Zeigerbereich 1702 als Versetzungswert gegenüber dem Kopf der Datei gespeichert. Der Zeiger des Speicherbestimmungsorts des Versetzungswertes ist durch den Wert des Zählstandes C bestimmt. Bei einem Schritt S2908 wird der Zählwert C aufgestuft, wonach das Programm zu dem Schritt S2904 zurückkehrt, wodurch der vorstehend beschriebene Prozeß wiederholt wird.
Als Konturdatenwert kann der Grad der bei dem Schritt S2906 erzeugten Funktion gespeichert werden. Obgleich ferner die bei dem Schritt S2905 ausgelesene Anzahl von Paßpunkten die Anzahl ist, die als ursprünglicher Konturdatenwert gespeichert wurde, können statt dessen von vorneherein mittels einer Tastatur zweierlei und dreierlei Anzahlen von auszulesenden Paßpunkten eingestellt werden. Dadurch kann der Grad der Konturdaten auf geeignete Weise entsprechend der Leistungsfähigkeit der Zentraleinheit und der Speicherkapazität begrenzt werden.
Falls ferner ein ausgelesener Paßpunkt bei jedem Gewicht die gleiche Lage hat, bewegt sich ein solcher Paßpunkt nicht durch eine Änderung des Gewichts. Dies bedeutet, daß keine Bewegungsinformation vorliegt. In diesem Fall kann durch eine Kennung der Umstand ausgedrückt werden, daß keine Bewegungsinformation vorliegt (siehe Fig. 6 und 11).
Auf diese Weise werden gemäß den vorangehenden Ausführungen Paßpunktdaten mit Paßpunkt-Bewegungsvektordaten für mehrere Gewichte in der Festplatte 17 gespeichert. Infolgedessen werden mit der Kontorformungseinrichtung gemäß dem sechsten Ausführungsbeispiel aus den zugeführten ursprünglichen Konturdaten Paßpunkt-Bewegungsvektorinformationen erzeugt und diese Informationen können in der. Festplatte als Konturdaten mit Bewegungsinformationen für die Berücksichtigung des Gewichts gespeichert werden. Daher muß der Speicher für die ursprünglichen Konturdaten keine große Kapazität haben.
Mit der Konturformungseinrichtung gemäß einem jeden vorangehend beschriebenen Ausführungsbeispiel ist es möglich, einen jeden Punkt auf einer Zeichenkontur mit einer Vektorinformation zu versehen, um das Gewicht ändern zu können. Dies ergibt folgende Vorteile:
  • 1. Aus einer Art von Konturdaten kann in Echtzeit die einem gewünschten Gewichtswert entsprechende Dicke eines Schriftzeichens berechnet werden (erstes bis fünftes Ausführungsbeispiel).
  • 2. Es ist möglich, mit einer geringen Speicherkapazität Informationen für die Gewichtsänderung zu bilden (erstes bis fünftes Ausführungsbeispiel).
  • 3. Die Konturen von Schriftzeichen mit unterschiedlichen Gewichten können mit hoher Geschwindigkeit berechnet werden (erstes bis fünftes Ausführungsbeispiel).
  • 4. Die Datenverwaltung für das Zuordnen eines Vektors zu Konturdaten ist einfach (erstes bis fünftes Ausführungsbeispiel).
  • 5. Es kann leicht und in hoher Qualität das Erzeugen und Abrufen von den Konturdaten zugeordneten Vektordaten vorgenommen werden (zweites bis sechstes Ausführungsbeispiel).
  • 6. Es ist keine besondere Gestaltung für das Zuordnen eines Vektors zu Konturdaten erforderlich und es ist leicht, mit herkömmlichen Daten allgemeine Anwendbarkeit zu erzielen. Ferner kann auf einfache Weise eine breite Anwendbarkeit von Modulen für das Erzeugen einer Bitschema-Schrift aus einer Konturenschrift erzielt werden (drittes und viertes Ausführungsbeispiel).
  • 7. Da die Kompliziertheit von Berechnungen entsprechend der Qualität geändert werden kann, ist die Erfindung leicht bei vielerlei Einrichtungen anwendbar (zweites und viertes Ausführungsbeispiel).
  • 8. Die Datenmenge kann entsprechend der Speicherkapazität geändert werden und es ist damit möglich, Speicherraumbedarf einzusparen (sechstes Ausführungsbeispiel).
  • 9. Der Datenumfang kann entsprechend der Zentraleinheit bzw. dem Computer geändert werden, so daß eine Anpassung an ein bestimmtes System ermöglicht ist (zweites, viertes und sechstes Ausführungsbeispiel).
  • 10. Die Konturdaten können unabhängig von dem Verfahren zum Erzeugen von Vektoren für eine Gewichtsänderung nach dem gleichen Entwicklungsverfahren erzeugt werden (erstes bis sechstes Ausführungsbeispiel).
Erfindungsgemäß können mit dem Verfahren und der Einrichtung zum Formen von Konturlinien gemäß der vorangehenden Beschreibung mit einer Art von Konturdaten Schriftzeichen mit einer Vielzahl von Gewichten erzeugt werden.
Ferner werden erfindungsgemäß mit dem Verfahren und der Einrichtung zum Speichern von Konturdaten Bewegungsinformationen für jeden Paßpunkt erzeugt, die es ermöglichen, Schriftzeichen mit einer Vielzahl von Gewichten zu erzeugen, und die Bewegungsinformationen zusammen mit Lageinformationen für jeden Paßpunkt der Konturdaten gespeichert.
Weiterhin kann die Erfindung bei einem System angewandt werden, das entweder eine Vielzahl von Einheiten oder eine einzige Einheit umfaßt. Selbstverständlich kann die Erfindung auch in dem Fall angewandt werden, daß Programme zum Ausführen der Prozesse des beschriebenen erfindungsgemäßen Systems zugeführt werden.
Eine Einrichtung zum Formen von Schriftzeichenkonturen ist dazu ausgelegt, einen jeden Punkt auf einer Konturlinie mit einer Vektorinformation für die Bewegung dieses Paßpunktes zu versehen, wobei das Gewicht einen Parameter darstellt.
Damit ist es möglich, mit einem einzigen Element von Konturdaten Schriftzeichen mit einer Vielzahl von Gewichten zu erzeugen. Zum Beispiel werden in einem Speicher X- und Y- Koordinaten für einen Paßpunkt, dessen Dicke das Gewicht 1 hat, und Bewegungsinformationen für das Ermitteln einer Funktion gespeichert, die den dem Gewicht entsprechenden Bewegungsvektor eines Paßpunktes bei der Konturenformung darstellt. Die Bewegungsinformation ist beispielsweise ein als X-Vektorkomponente und Y-Vektorkomponente bezeichnetes Ausmaß der Bewegung eines jeweiligen Paßpunktes für das Gewicht 10 in X-Richtung und Y-Richtung. Wenn ein Zeichencode und ein Gewicht bestimmt sind, werden die X- und Y-Koordinaten und die Bewegungsinformationen für einen jeden Paßpunkt des gewählten Zeichens ausgelesen. Durch die X- und Y-Koordinaten und die Bewegungsinformation wird für jeglichen Paßpunkt eine Funktion zum Darstellen eines Bewegungsvektors mit dem Gewicht als Parameter bestimmt. Durch die Funktion werden die dem gewählten Gewicht entsprechenden X- und Y-Koordinaten des Paßpunktes ermittelt, gemäß denen die Kontur geformt wird, wodurch ein einem gewählten Gewicht entsprechendes Konturbildmuster erzielt wird.

Claims (23)

1. Konturerzeugungsgerät mit
einer Speichereinrichtung zum Speichern von erster Informa­ tion, die Positionen von Konturpunkten zur Konturerzeugung eines Musters mit einer vorbestimmten Gewichtung anzeigt, und zweiter Information, die für jeden Konturpunkt individuell vorgesehen ist, um Positionen von Konturpunkten zu bestimmen, die eine Kontur des Musters mit einer zu der vorbestimmten Gewichtung unterschiedlichen Gewichtung erzeugen,
einer Eingabeeinrichtung zum Eingeben von Gewichtungsinforma­ tionen, die die Gewichtung des zu erzeugenden Musters an­ zeigt,
einer Bestimmungseinrichtung zum Bestimmen der Position von jedem der Konturpunkte zum Erzeugen einer Kontur des Musters mit einer Gewichtung, -die durch die Gewichtungsinformation angezeigt wird, auf der Basis der ersten und zweiten Informa­ tion, und
einer Erzeugungseinrichtung zum Erzeugen einer Kontur des Mu­ sters unter Verwendung der durch die Bestimmungseinrichtung bestimmten Konturpunkte.
2. Konturerzeugungsgerät nach Anspruch 1, mit einer Entschei­ dungseinrichtung, zum Entscheiden, ob jeder der Konturpunkte die zweite Information aufweist oder nicht, wobei die Bestim­ mungseinrichtung die Positionen der Konturpunkte, die die zweite Information aufweisen, ändert, um die Positionen von Konturpunkten zum Erzeugen der Kontur des Musters mit der durch die Gewichtungsinformation angezeigten Gewichtung zu bestimmen.
3. Konturerzeugungsgerät nach Anspruch 1, mit einer Ausgabe­ einrichtung zum Ausgeben eines auf der durch die Erzeugungs­ einrichtung erzeugten Kontur basierenden Musters.
4. Konturerzeugungsgerät nach Anspruch 3, wobei die Ausgabe­ einrichtung einen Drucker umfaßt.
5. Konturerzeugungsgerät nach Anspruch 1, wobei die zweite Information Positionen von Konturpunkten relativ zu den durch die erste Information angezeigten Positionen anzeigt, wobei die Relativpositionen einer Änderung der Konturpunkte auf­ grund des Unterschieds der Gewichtung zu der vorbestimmten Gewichtung entsprechen.
6. Konturerzeugungsgerät nach Anspruch 1, wobei die Bestim­ mungseinrichtung Positionen von Konturpunkten unter Verwen­ dung der ersten Information, der zweiten Information und ei­ ner vorbestimmten Funktion bestimmt.
7. Konturerzeugungsgerät nach Anspruch 6, wobei die vorbe­ stimmte Funktion basierend auf der Gewichtungsinformation ge­ ändert wird.
8. Konturerzeugungsgerät nach Anspruch 1, wobei die zweite Information Positionen von Konturpunkten entsprechend einer Vielzahl von Gewichtungsarten anzeigt.
9. Konturerzeugungsgerät nach Anspruch 1, wobei die zweite Information das Bewegungsausmaß von jedem der Konturpunkte anzeigt.
10. Konturerzeugungsgerät nach Anspruch 9, wobei das Bewe­ gungsausmaß eines Konturpunktes dahingehend eingeschränkt ist, ob eine den Konturpunkt beinhaltende Kontur eine andere Kontur schneidet oder nicht.
11. Konturerzeugungsgerät nach Anspruch 9, wobei das Bewe­ gungsausmaß eines Konturpunktes dahingehend beschränkt ist, ob die Konturpunkte aus einem Rahmen des Musterkörpers her­ ausfallen oder nicht.
12. Konturerzeugungsverfahren unter Verwendung eines Spei­ chers, der erste Information, die Positionen von Konturpunk­ ten zum Erzeugen einer Kontur eines Musters mit vorbestimmter Gewichtung anzeigt, und zweite Information, die für jeden Konturpunkt individuell vorgesehen ist, um Positionen von Konturpunkten zum Erzeugen einer Kontur des Musters mit einer Gewichtung zu bestimmen, die unterschiedlich zu der vorbe­ stimmten Gewichtung ist, speichert, mit:
einem Eingabeschritt zum Eingeben von Gewichtungsinformation, die die Gewichtung des zu erzeugenden Musters anzeigt,
einem Bestimmungsschritt zum Bestimmen der Position von jedem der Konturpunkte zum Erzeugen einer Kontur des Musters mit
einer Gewichtung, die durch die Gewichtungsinformation ange­ zeigt ist, auf der Basis der ersten und zweiten Information, und
einem Erzeugungsschritt zum Erzeugen einer Kontur des Musters unter Verwendung der durch die Bestimmungseinrichtung be­ stimmten Konturpunkte.
13. Verfahren nach Anspruch 12, mit einem Entscheidungs­ schritt zum Entscheiden, ob jeder der Konturpunkte die zweite Information aufweist oder nicht, wobei der Entscheidungs­ schritt die Positionen von Konturpunkten, die die zweite In­ formation aufweisen, ändert, um Positionen von Konturpunkten zum Erzeugen einer Kontur des Musters mit einer durch die Ge­ wichtungsinformation angezeigten Gewichtung zu bestimmen.
14. Verfahren nach Anspruch 12, mit einem Ausgabeschritt zum Ausgeben eines Musters basierend auf den durch die in dem Er­ zeugungsschritt erzeugten Konturpunkten.
15. Verfahren nach Anspruch 14, wobei der Ausgabeschritt das Muster an einen Drucker ausgibt.
16. Verfahren nach Anspruch 12, wobei die zweite Information Positionen von Konturpunkten relativ zu den durch die erste Information angezeigten Positionen anzeigt, wobei die Rela­ tivpositionen einer Änderung der Konturpunkte aufgrund des Unterschieds der Gewichtung zu der vorbestimmten Gewichtung entsprechen.
17. Verfahren nach Anspruch 12, wobei der Bestimmungsschritt die Positionen von Konturpunkten unter Verwendung der ersten Information, der zweiten Information einer vorbestimmten Funktion bestimmt.
18. Verfahren nach Anspruch 17, wobei die vorbestimmte Funk­ tion auf Basis der Gewichtungsinformation geändert wird.
19. Verfahren nach Anspruch 12, wobei die zweite Information Positionen von Konturpunkten entsprechend einer Vielzahl von Gewichtungsarten anzeigt.
20. Verfahren nach Anspruch 12, wobei die zweite Information das Bewegungsausmaß von jedem der Konturpunkte anzeigt.
21. Verfahren nach Anspruch 20, wobei das Bewegungsausmaß ei­ nes Konturpunkts dahingehend eingeschränkt ist, ob eine Kon­ tur die den Konturpunkt aufweist, eine andere Kontur schnei­ det oder nicht.
22. Verfahren nach Anspruch 20, wobei das Bewegungsausmaß ei­ nes Konturpunkts dahingehend eingeschränkt ist, ob die Kon­ turpunkte aus einem Rahmen des Musterkörpers herausfallen oder nicht.
23. Verfahren nach Anspruch 12, wobei der Speicher ein Nur- Lese-Speicher ist.
DE4340599A 1992-11-30 1993-11-29 Gerät und Verfahren zur Konturerzeugung Expired - Fee Related DE4340599C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4320670A JP2922738B2 (ja) 1992-11-30 1992-11-30 輪郭形成方法及び装置
JP05001686A JP3106023B2 (ja) 1993-01-08 1993-01-08 輪郭形成装置及び方法

Publications (2)

Publication Number Publication Date
DE4340599A1 DE4340599A1 (de) 1994-06-01
DE4340599C2 true DE4340599C2 (de) 1998-06-04

Family

ID=26334959

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4340599A Expired - Fee Related DE4340599C2 (de) 1992-11-30 1993-11-29 Gerät und Verfahren zur Konturerzeugung

Country Status (4)

Country Link
US (1) US6944823B2 (de)
CN (1) CN1052320C (de)
DE (1) DE4340599C2 (de)
TW (1) TW262547B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797631B2 (en) * 2002-09-18 2010-09-14 Canon Kabushiki Kaisha Document printing control apparatus and method
JP4198098B2 (ja) * 2004-07-23 2008-12-17 シャープ株式会社 表示装置、プログラムおよび記録媒体
US7710422B2 (en) * 2004-07-26 2010-05-04 Microsoft Corporation Font representations
JP4873554B2 (ja) * 2006-12-25 2012-02-08 株式会社リコー 画像配信装置および画像配信方法
CN106468960A (zh) * 2016-09-07 2017-03-01 北京新美互通科技有限公司 一种输入法候选项排序的方法和系统
US10339680B2 (en) * 2017-10-06 2019-07-02 Adobe Inc. Graphics control data for performing skeleton-based modifications of a typeface design
US11488053B2 (en) 2017-10-06 2022-11-01 Adobe Inc. Automatically controlling modifications to typeface designs with machine-learning models
US10983679B2 (en) 2017-10-06 2021-04-20 Adobe Inc. Selectively enabling trackpad functionality in graphical interfaces

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57169791A (en) 1981-04-10 1982-10-19 Shaken Kk Method of memorizing character and figure and phototypesetter
JPS61246877A (ja) 1985-04-25 1986-11-04 Canon Inc 図形変換装置
CN1006663B (zh) * 1985-11-15 1990-01-31 夏普公司 多字体生成装置
US5398311A (en) * 1987-02-25 1995-03-14 Canon Kabushiki Kaisha Character processing apparatus and method for processing character data as an array of coordinate points of contour lines
US4897638A (en) * 1987-02-27 1990-01-30 Hitachi, Ltd. Method for generating character patterns with controlled size and thickness
US5562350A (en) * 1988-04-18 1996-10-08 Canon Kabushiki Kaisha Output apparatus that selects a vector font based on character size
JPH01272460A (ja) 1988-04-26 1989-10-31 Nippon Joho Kagaku Kk 文字の発生方法及び装置
JP2844639B2 (ja) * 1989-03-02 1999-01-06 セイコーエプソン株式会社 文字パターン信号発生装置
JP2836086B2 (ja) * 1989-03-10 1998-12-14 セイコーエプソン株式会社 文字パターンデータ発生装置
JPH02250189A (ja) 1989-03-24 1990-10-05 Nippon Joho Kagaku Kk 文字発生方法および装置
JP2850979B2 (ja) * 1989-04-21 1999-01-27 キヤノン株式会社 文字処理装置および方法
US5159668A (en) * 1989-05-08 1992-10-27 Apple Computer, Inc. Method and apparatus for manipulating outlines in improving digital typeface on raster output devices
US5155805A (en) * 1989-05-08 1992-10-13 Apple Computer, Inc. Method and apparatus for moving control points in displaying digital typeface on raster output devices
JP2755789B2 (ja) * 1990-06-11 1998-05-25 キヤノン株式会社 文字フオントメモリと、該文字フオントメモリを用いた文字パターン発生装置
JPH0493992A (ja) 1990-08-06 1992-03-26 Fuji Xerox Co Ltd 文字・図形描画装置
JP2985275B2 (ja) 1990-10-25 1999-11-29 セイコーエプソン株式会社 アウトラインフォントの文字発生方式
US5276790A (en) * 1991-07-12 1994-01-04 Destiny Technology Corporation Fast vertical scan-conversion and filling method and apparatus for outline font character generation in dot matrix devices
US5355449A (en) * 1991-09-30 1994-10-11 Destiny Technology Corporation Method and apparatus for outline font character generation in dot matrix devices
US5280576A (en) * 1991-12-24 1994-01-18 Xerox Corporation Method of adjusting the weight of a character of an outline font
US5365589A (en) 1992-02-07 1994-11-15 Gutowitz Howard A Method and apparatus for encryption, decryption and authentication using dynamical systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
W.D. Fellner: "Computer Grafik", BI-Wissen- schaftsverlag, Mannheim, Wien, Zürich, 1988, S.143-152 *

Also Published As

Publication number Publication date
US20040205486A1 (en) 2004-10-14
DE4340599A1 (de) 1994-06-01
TW262547B (de) 1995-11-11
US6944823B2 (en) 2005-09-13
CN1090660A (zh) 1994-08-10
CN1052320C (zh) 2000-05-10

Similar Documents

Publication Publication Date Title
DE3806223C2 (de) Verfahren zur Erzeugung von Zeichenmustern
DE60036894T2 (de) Erzeugung einer Glyphe
DE69428265T2 (de) Verfahren und system zur erzeugung, spezifizierung und generierung von parametrischen schriftarten
DE69524143T2 (de) Verfahren und Vorrichtung zur Vermeidung von Datenunterversorgung in einen Seitendrucker
DE69221414T2 (de) Intelligenter Schriftartdarstellungskoprozessor
DE69130382T2 (de) Zeichenverarbeitungsverfahren
DE3587690T2 (de) Verfahren um Schrifttypen mit Skalaänderungen herzustellen.
DE69131901T2 (de) Ein verfahren um dokumente zu formatieren mit flexibelen entwurfsmodellen die kontrollierte kalibrierung und schrifttypenauswahl ermöglichen
DE69425037T2 (de) Verfahren und Vorrichtung zur Generierung von Schriftzeichen
DE3935574C2 (de) Verfahren zum Minimieren der beim Skalieren eines digitalen Schriftbildes auftretenden visuellen Beeinträchtigung
DE69629173T2 (de) Automatisches Plazieren eines graphischen Musters
DE69423306T2 (de) Vorrichtung und Verfahren zur Auswahl eines Schriftensatzes
DE3485893T2 (de) Verfahren und einrichtung zum automatischen erhalten von zeichenzwischenraeumen waehrend der satzaufbereitung.
DE19713654B4 (de) Progressiv darstellbare Umrissschrift und Verfahren zum Erzeugen, Übertragen und Darstellen derselben
DE19512185B4 (de) Verfahren und Vorrichtung zum Erzeugen von Fontdaten
DE69222255T2 (de) Verarbeitungsverfahren für Zeichen oder graphische Daten
DE4340599C2 (de) Gerät und Verfahren zur Konturerzeugung
DE69033757T2 (de) Gerät und Verfahren zum bearbeiten von Zeichen
DE68926263T2 (de) Abschneidungsverfahren und -verarbeitungsgerät
DE69207184T2 (de) Vorrichtung und verfahren zum automatisierten seitenlayout von text undgraphischen elementen
DE4124554C2 (de) Datenumwandlungseinrichtung und Zeichenausgabeeinrichtung
DE3923914C2 (de) Verfahren zum Extrahieren von Merkmalsgrößen eines Zeichens
DE69032082T2 (de) Bilddatenstromumsetzung in Ausgangsdaten zur Bilddruckstellung oder -anzeige
DE69021797T2 (de) Verfahren zum Umsetzung von Bildinformation in Vektorform in ein Rastermuster und Gerät zur Bilderzeugung.
DE4105089A1 (de) Stickereidatenverarbeitungseinrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 15/62

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