-
Hintergrund der Erfindung
-
1. Anwendungsgebiet der
Erfindung
-
Die vorliegende Erfindung bezieht
sich im Allgemeinen auf ein Verfahren zur Umwandlung von Konturschriftdaten
eines Zeichens in seine Struktur und zur dekorativen Gestaltung
des Zeichens auf der Grundlage seiner Struktur.
-
2. Beschreibung des einschlägigen Standes
der Technik
-
Die in Textverarbeitungssystemen
und Personalcomputern verwendeten Schriften umfassen grob gesagt
Punktrasterschriften und Konturschriften. Von diesen Schriften werden
die Konturschriften durch Bildung einer Umrisslinie und Ausfüllung der von
der Umrisslinie umgebenen Fläche
dargestellt, die dadurch gekennzeichnet sind, dass sie auf dem Bildschirm
oder im Ausdruck Zeichen hoher Qualität mit geringer Zackenbildung
darstellen, auch wenn die Zeichengröße verändert oder das Zeichen gedreht
wurde.
-
Die die Konturschriften bezeichnenden
Daten werden in einem Konturschriftenverzeichnis auf einer Hartplatte
oder einem Festwertspeicher (ROM) gespeichert. Wenn dann ein Zeichen
dargestellt wird, werden die dem Zeichen entsprechenden Daten aus dem
Konturschriftenverzeichnis gelesen, und nachdem die vorgegebene
Verarbeitung erfolgt ist, wird das Zeichen auf einem Bildschirmgerät oder mittels eines
Druckers dargestellt.
-
Diese Konturschrift bildet ein Zeichen,
indem es dieses mit einer Umrisslinie umgibt. Dabei kommt es zu
dem Problem, dass die Gestaltung eines in einer Konturschrift gebildeten
Zeichens durch Änderung
der Zeichenbreite oder durch eine dreidimensionale Darstellung des
Zeichens nebst weiteren dekorativen Varianten erschwert wird.
-
Mit anderen Worten, eine derartige
dekorative Änderung
wird gewöhnlich
bei Zeichen realisiert, die in einer Skelettstruktur gebildet werden. 1A ist eine Darstellung
der Skelettstruktur eines japanischen "hiragana"-Zeichens, das dem phonetischen Symbol "a" entspricht. An dieser Skelettstruktur
lassen sich ohne Schwierigkeiten verschiedene dekorative Änderungen
realisieren.
-
Die Konturschrift dieses Zeichens
wird einerseits in 1B dargestellt.
Wein 1C dargestellt wird,
besteht diese Schrift zum Beispiel aus einer Vielzahl vieleckiger zyklischer
grafischer Pfade 1a bis 1f. Zu jedem grafischen
Pfad gehört
eine Vielzahl durchgehender Umrisslinien (Liniensegmente).
-
Zur Dekoration dieser Konturschrift
könnten wir
ein Verfahren anwenden, nach welchem die Stärke der Linien dadurch verringert
würde,
dass die einzelnen Vielecke zum Breitenmittelpunkt hin verkleinert
werden. Bei einer Verringerung der Stärke einer Linie nach diesem
Verfahren erhalten wir jedoch das in 1D dargestellte
Ergebnis. Es kann zu einer Deformierung des Zeichens kommen, wie
man beim Vergleich mit 1A feststellen
kann.
-
Nach einem anderen Verfahren kann
die Stärke
der Linie durch Umwandlung in Punktrasterdaten verringert werden.
Bei diesem Verfahren kann es jedoch bei der Umwandlung in das Bitmuster
zu einer Deformierung der Umrisslinie des Zeichens kommen, und demzufolge
wird es schwierig, ein gutes Ergebnis zu erzielen, wenn die Linie
letztlich in ihrer Stärke
verringert wird.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung wurde unter
Berücksichtigung
dieser Situation gemacht. Das Hauptziel besteht in der Bereitstellung
eines Verfahrens und eines Computersoftwareprogrammerzeugnisses zur
zweckentsprechenden Darstellung von auf deren Konturdaten beruhenden
Schriftzeichen in Skelettform.
-
Ein werteres Ziel der vorliegenden
Erfindung besteht in der Bereitstellung eines Verfahrens und eines
Computersoftwareprogrammerzeugnisses zur Anwendung verschiedener
Prozesse der dekorativen Änderung
von Konturschriften.
-
Gemäß des ersten Aspektes der vorliegenden
Erfindung wird ein Verfahren zur Verarbeitung einer Konturschrift
bereitgestellt, bestehend aus (a) einem Schritt des Lesens der Schriftdaten
aus einem Konturschriftverzeichnis, in dem die Konturdaten einer
in eine Vielzahl von Teilstücken
unterteilten Konturschrift gespeichert sind, (b) einem Schritt der
Bildung eines vieleckigen zyklischen grafischen Pfades durch Erstellung
einer Vielzahl von Elementstrukturen, zu denen Daten gehören, die
die Darstellung einer Umrisslinie einer Konturschrift auf der Grundlage vor
vorgenannten, gelesenen Schriftdaten gestatten, und durch die Verknüpfung der
einzelnen Elementstrukturen, (c) einem Schritt zur Feststellung,
ob sich die den vorgenannten vieleckigen zyklischen grafischen Pfad
bildenden Elementstrukturen mit einen anderen grafischen Pfad bildenden
Elementstrukturen überschneiden
oder nicht, der Einfügung
eines Knotenpunktes am sich überschneidenden
Teil im Falle der Überschneidung
sowie des Austausches der Pfade an diesem Knotenpunkt, so dass die
die entsprechenden vieleckigen zyklischen grafischen Pfade bildenden
Elementstrukturen sich nicht gegenseitig überschneiden, (d) einem Schritt
der Feststellung, ob ein werterer vieleckiger grafischer Pfad, der vollständig innerhalb
eines vieleckigen grafischen Pfades enthalten ist und auch die gleiche
zyklische Richtung hat, vofianden ist oder nicht, und der Löschung des
genannten anderen vieleckigen grafischen Pfades im Falle seines
Vorhandenseins, und (e) einem Schritt der Verschiebung der den vorgenannten
vieleckigen zyklischen grafischen Pfad bildenden Elementstrukturen
in der Zeichenbreite um eine vorgegebene, auf der Zeichenbreite
dieser Konturschrift beruhenden Entfernung und der dadurch erfolgenden
Ausgabe einer Vielzahl von durch Löschung der Zeichenbreite der
vorgenannten Konturschrift bedingten Liniensegmenten.
-
Entsprechend dieser Konfiguration
wird es möglich,
einen Prozess der dekorativen Änderung
für Konturschriften
anzuwenden, für
die die Anwendung dekorativer Änderungen
wie die Umgestaltung der Form in Bezug auf einen vieleckigen Rahmen
in der Vergangenheit schwierig war. Das heißt, dass in der vorliegenden
Erfindung erstens Überschneidungen sowie
die Überlappung
einer Vielzahl von vieleckigen zyklischen grafischen Pfaden ausgeschaltet
wird. Das heißt,
dass Konturschriften wie die True Type-Schrift aus Vielecken bestehen, die
durch mehrere vieleckige zyklische grafische Pfade eingeschlossen
werden. Hierbei gilt jedoch das Prinzip, dass Bereiche, in denen
sowohl rechtsläufige
als auch linksläufige
Vielecke überlappen,
nicht dargestellt werden. In der vorliegenden Erfindung wird ein
Prozess zur Löschung
der Teile, in denen sich Vielecke überschneiden, angewandt, um
somit die Prozesse der Skelettschriftbildung und dekorativen Änderung
zu erleichtern. In gleicher Weise wird zur Bildung einer Konturschrift
mit dem Minimum an Elementen ein Vieleck, das in einem anderen Vieleck
mit der gleichen zyklischen Richtung enthalten ist, ausgeschaltet.
-
Als Nächstes wird der Prozess der
Skelettschriftbildung auf die in dieser Weise verarbeitete Konturschrift
angewandt. Entsprechend einem Ausführungsbeispiel der vorliegenden
Erfindung gehört zu
diesem Prozess der Skelettschriftbildung ein Schritt der Festlegung
der Zeichenbreite der Konturschrift auf der Grundlage der vorgenannten
vieleckigen grafischen Pfade, ein Schritt der Verschiebung jedes
einzelnen durchgehenden Liniensegments um eine der Hälfte der
Zeichenbreite entsprechende Entfernung in die vorgenannte Richtung
der Zeichenbreite und der Festlegung des Knotenpunktes jedes einzelnen
Liniensegments in dem Falle als neuen Punkt, der die vorgenannten
vieleckigen zyklischen grafischen Pfade darstellt, und ein Schritt
der Verschmelzung zweier aneinander angrenzender Liniensegmente
zu einem Liniensegment, indem die Koordinaten zweier, in der Richtung
der Zeichenbreite aneinander angrenzender Punkte durch die Koordinate des
Mittelpunktes der beiden Punkte ersetzt werden.
-
Zur Berechnung der Zeichenbreite
einer Konturschrift, zum Beispiel in Bezug auf ein Paar die vorgenannte
Zeichenbreite bildende Liniensegmente, wird hierbei die Summe aller durch
Multiplikation der Entfernung von einem Liniensegment zum anderen
Liniensegment mit der Länge
des genannten einen Liniensegments und Hinzufügung der Produkte für alle Liniensegmente
gewonnenen Produkte durch die mittlere Länge aller Liniensegmente dividiert.
-
Nachdem die Umrisslinie in dieser
Weise zur Erzeugung einer Tabelle verbundener Liniensegmente in
Skelettstruktur dargestellt wurde, wird eine Vielzahl von Vielecken
durch die Liniensegmente dividiert, und es wird eine Tabelle nichtüberlappender
Liniensegmente erstellt. Danach werden die Linien an den Verbindungspunkten
dieser Liniensegmente in Folge verbunden, und an der Stelle, an
welcher mehr als zwei Liniensegment zusammentreffen, werden zwei
Liniensegmente mit dem geringsten Neigungsunterschied verbunden,
wobei die Liniensegmente miteinander verbunden werden. In dieser
Weise werden die in Skelettstruktur dargestellten Liniensegmente
glatt miteinander verbunden, und im Ergebnis dessen können Rahmendaten
gewonnen werden, die mit der Strichordnung der Zeichen übereinstimmen.
-
Danach können zu den Linien, die diese
gewonnenen Rahmendaten darstellen, zum Beispiel durch die Definition
einer dreidimensionalen Struktur in einer senkrecht zur Richtung
der Linie verlaufenden Richtung festgelegten Form dekorative Änderungen
an diesem Zeichen verarbeitet werden.
-
Entsprechend des zweiten Aspektes
der vorliegenden Erfindung wird weiterhin ein Computersoftwareprogramm
bereitgestellt, welches ein Computersoftwareprogrammerzeugnis zur
Erzeugung eines Computerverarbeitungssystems zur Verarbeitung von
Konturschriften darstellt und zu dem gehören: ein Speichermedium, ein
in diesem Speichermedium gespeicherter Schriftdatenlesesteuerbefehl,
der bewirkt, dass das vorgenannte Computersystem Schriftdaten aus
einem Konturschriftverzeichnis, das die Konturdaten einer Konterschrift
unterteilt in eine Vielzahl von Teilstücken speichert, liest, ein
in dem vorgenannten Speichermedium abgespeicherter pfadbildender
Steuerbefehl, der bewirkt, dass das vorgenannte Computersystem eine
Vielzahl von Elementstrukturen erstellt, die aus Daten bestehen,
welche die Darstellung der Umrisslinie einer Konturschrift auf der
Grundlage der vorgenannten, gelesenen Schriftdaten gestatten, und
durch Verbindung der einzelnen Elementstrukturen in einer Folge
einen vieleckigen zyklischen grafischen Pfad bildet, ein im vorgenannten
Speichermedium abgespeicherter Pfadaustauschsteuerbefehl, der bewirkt,
dass das vorgenannte Computersystem feststellt, ob die den vorgenannten
vieleckigen zyklischen grafischen Pfad bildenden Elementstrukturen
sich mit den einen anderen grafischen Pfad bildenden Elementstrukturen überschneiden
oder nicht, um einen Knotenpunktes am sich überschneidenden Teil im Falle
der Überschneidung
einzufügen,
sowie die Pfade an diesem Knotenpunkt auszutauschen, so dass die
die entsprechenden vieleckigen zyklischen grafischen Pfade bildenden
Elementstrukturen sich nicht gegenseitig überschneiden, ein in dem vorgenannten
Speichermedium abgespeicherter Steuerbefehl zur Löschung des
vieleckigen zyklischen grafischen Pfades, der bewirkt, dass das
vorgenannte Computersystem feststellt, ob ein weiterer vieleckiger
grafischer Pfad mit der gleichen zyklischen Richtung, der vollständig in
einem vieleckigen grafischen Pfad enthalten ist, vorhanden ist oder
nicht, und diesen werteren vieleckigen grafischen Pfad im Falle
seines Vorhandenseins löscht,
sowie ein in dem vorgenannten Speichermedium abgespeicherter Steuerbefehl zur
Bildung einer Skelettstruktur, der bewirkt, dass das vorgenannte
Computersystem das vorgenannte Zeichen in Bezug auf ein aus den
vorgenannten vieleckigen zyklischen grafischen Pfaden bestehendes Zeichen
als eine Vielzahl von Liniensegmenten ohne Zeichenbreite ausgibt,
indem es Liniensegmente verarbeitet, die in Bezug auf die Zeichenbreite
entgegengesetzt sind, so dass sie sich einander annähern können.
-
Entsprechend dieser Konfiguration
ist es möglich
zu bewirken, dass das Computersystem das Konturverarbeitungsverfahren
in der vorstehend im Einzelnen beschriebenen Weise abarbeitet.
-
Für
Fachleute auf diesem Gebiet werden die weiteren Eigenschaften der
vorliegenden Erfindung, deren Funktionsweise und Auswirkungen unter
Bezugnahme auf den nachfolgenden Abschnitt mit dem Titel "Ausführliche
Beschreibung des Bevorzugten Ausführungsbeispiels" und die beiliegenden
Zeichnungen ohne Werteres verständlich
sein.
-
Kurzbeschreibung der Zeichnungen
-
1A bis 1D zeigen Beispiele allgemein üblicher
Konturschriften.
-
2 zeigt
ein Beispiel einer in einem Ausführungsbeispiel
der vorliegenden Erfindung verarbeiteten Konturschrift.
-
3 zeigt
die Systemkonfiguration eines Ausführungsbeispiels der vorliegenden
Erfindung.
-
4 ist
ein Flussdiagramm, das das Konturzeichnungsverfahren für eine Konturschrift
darstellt.
-
5A bis 5D sind Diagramme zur Erklärung des
Konturzeichnungsverfahrens für
eine Konturschrift.
-
6A und 6B sind Diagramme zur Erklärung des
Pfadaustausches zwischen den grafischen Pfaden.
-
7 ist
ein Diagramm zur Darstellung der grafischen Daten der konturverarbeiteten
Konturschrift.
-
8 ist
ein Flussdiagramm, das den Prozess der Festlegung der Zeichenbreite
für eine
Konturschrift darstellt.
-
9 ist
ein Diagramm, das ein Beispiel der Messung der Zeichenbreite darstellt.
-
10 ist
ein Diagramm, das ein Beispiel einer festgelegten Zeichenbreite
darstellt.
-
11 ist
ein Flussdiagramm, das den Prozess der maßstäblichen Verkleinerung der von
einer Umrisslinie für
eine Konturschrift eingeschlossenen Fläche darstellt.
-
12 ist
ein Diagramm der Verbindung der Liniensegmente bei der maßstäblichen
Verkleinerung der Fläche.
-
13 ist
ein Diagramm einer Konturschrift nach der maßstäblichen Verkleinerung der Fläche.
-
14 ist
ein Diagramm einer Konturschrift nach dem Prozess der Bildung der
Skelettstruktur.
-
15 ist
ein Flussdiagramm zur Erklärung des
Prozesses der Verknüpfung
der Liniensegmente nach dem Prozess der Bildung der Skelettstruktur.
-
16 ist
ein Diagramm zur Erklärung
des Prozesses der Verknüpfung
der Liniensegmente.
-
17 ist
ein Musterdiagramm zur Darstellung des Ergebnisses der Verknüpfung der
Liniensegmente.
-
18A und 18B sind Diagramme, die Beispiele
für dekorative Änderungen
darstellen.
-
19A bis 19C sind Diagramme zur Darstellung
von Beispielen der Ergebnisse der Anwendung des gleichen Verfahrens
für Konturschriften
in anderen Sprachen.
-
Ausführliche Beschreibung des Bevorzugten
Ausführungsbeispiels
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung werden im Folgenden ausführlich unter Bezugnahme auf
die beiliegenden Diagramme beschrieben.
-
2 zeigt
die grafischen Pfade zur Darstellung der Konturschrift aus dem japanischen
phonetischen Alphabet "hiragana", das dem phonetischen Symbol "a" entspricht. Die Konturschrift besteht
aus sechszyklischen grafischen Pfaden, die mit 1a bis 1f bezeichnet
sind. Im Folgenden werden diese zyklischen grafischen Pfade zur
einfacheren Erklärung als "Vielecke" bezeichnet.
-
Von den vorgenannten Vielecken 1a bis 1f bilden
die Vielecke 1a bis 1e die Darstellungsfläche für die Schrift,
und das Vieleck 1f bildet die Ausschnittsfläche zur
Umkehr der Darstellungsfläche. Jedes
der Vielecke 1a bis 1f, zum Beispiel das Vieleck 1b,
ist so aufgebaut, dass die Umrisslinien 2a bis 2d,
die aus Liniensegmenten (Elementstrukturen) mit Ausgangspunkt und
Endpunkt bestehen, entlang einer bestimmten zyklischen Richtung verbunden
sind und dadurch eine vorgegebene Fläche einschließen. In
diesem Falle zeigt der an jeder Umrisslinie (Liniensegment) 2a bis 2d angebrachte
Pfeil die zyklische Richtung an (rechtsläufig oder linksläufig). Der
Unterschied zwischen der Darstellungsfläche und der Ausschnittsfläche wird
durch die Tatsache ausgedrückt, ob
die zyklische Richtung der Elementstruktur, die das vorgenannte
Vieleck bildet, rechtsläufig
oder linksläufig
ist.
-
3 ist
ein Konturblockdiagramm, das das System 4 zur Anwendung
des Prozesses der dekorativen Änderung
auf die vorgenannte Konturschrift darstellt.
-
Dieses System 4 wird durch
Verbindung einer Programmspeichereinheit 10 und einer Datenspeichereinheit 11 mit
einem Bus 9, an welchen eine Zentraleinheit 5,
ein Direktzugriffsspeicher (RAM) 6, ein Eingabegerät 7 und
ein Ausgabegerät 8 angeschlossen
sind, gebildet.
-
Von den Geräten, die sich auf die vorliegende
Erfindung beziehen, speichert die Datenspeichereinheit 11 ein
Konturschriftverzeichnis 12 und die Zeichendekordaten 13.
-
Die Programmspeichereinheit 10 speichert neben
dem Betriebssystem/Hauptprogramm 15 eine Schriftdatenleseeinheit 16,
eine Pfadbildungseinheit 17, eine Pfadaustauscheinheit 18,
eine Löscheinheit für enthaltene
vieleckige Pfade 19, eine Skelettstrukturbildungseinheit 20,
eine Einheit zur Feststellung Liniensegmentkontinuität 21,
eine Liniensegmentverknüpfungseinheit 22 und
eine Zeichendekoränderungseinheit 23.
-
Zu jeder dieser Komponenten 12 bis 23 gehört der Sache
nach ein Computersystem, ein bestimmter eigener Bereich in einem
Speichermedium wie einer Hartplatte oder einem Halbleiterspeicher
innerhalb dieses Computersystems sowie ein in diesem Bereich installiertes
Computersoftwareprogramm. Sobald also die vorgenannte Zentraleinheit 5 diese
Komponenten in den vorgenannten Festwertspeicher (RAM) 6 ruft
und diese abarbeitet, wir die Funktion der vorliegenden Erfindung
realisiert.
-
Im Folgenden wird die ausführliche
Funktion der einzelnen Komponenten 12 bis 23 im
Zusammenhang mit deren Betriebsweise erklärt.
-
Zunächst werden in der Hauptsache
unter Bezugnahme auf das Flussdiagramm in 4 die konturverarbeitenden Funktionen
der vorgenannten Schriftdatenleseeinheit 16, Pfadbildungseinheit 17, Pfadaustauscheinheit 18 und
Löscheinheit
für enthaltene
vieleckige Pfade 19 erläutert.
Die vorgenannte Schriftdatenleseeinheit 16 hat die Aufgabe,
die gewünschten
Konturschriftdaten aus dem vorgenannten Konturschriftverzeichnis 12 zu
lesen. Dieses Konturschriftverzeichnis 12 wurde unter der
Annahme erstellt, dass die Kontur einer Konturschrift in eine Vielzahl
von aus Liniensegmenten und Kurven bestehenden Teilstücken unterteilt
ist, und dass die Kontur jedes Teilstückes in einer Folge zur Bildung einer Kontur
auf einem Verzeichniskoordinatensystem, das im Konturschriftverzeichnet
vorgegeben ist, dargestellt wird.
-
Die vorgenannte Pfadbildungseinheit 17 sendet
einen Steuerbefehl an die vorgenannte Schriftdatenleseeinheit 16,
um dadurch die Konturschriftdaten, die dem als Verarbeitungsobjekt
bezeichneten Zeichen entsprechen, aufzurufen. Danach bildet diese
Pfadbildungseinheit die einzelne Kontur (Elementstruktur) auf der
Grundlage der gelesenen Daten auf dem RAM-Speicherbereich (Schritt A1
in 4) und bildet ein
Vieleck (vieleckiger zyklischer grafischer Pfad) durch Verbindung
dieser Konturen in Folge (Schritt A2). Auf diese Weise werden die
in 2 dargestellten grafischen
Daten im RAM-Speicherbereich
gebildet.
-
Bei diesen in 2 dargestellten grafischen Daten, zum
Beispiel wie im Falle des in dieser Figur mit einem Kreis 25 umgebenen
Teils, überschneiden sich
die die einzelnen Vielecke bildenden Konturen. Die vorgenannte Pfadaustauscheinheit 18 realisiert den
Austauschprozess für
die grafischen Pfade in Schritt A3 und danach in 4, um diese Überschneidungen aus den grafischen
Daten in 3 zu entfernen.
-
Zunächst realisiert die vorgenannte
Pfadaustauscheinheit 18 den Prozess der Herausnahme der Liniensegmente
aus dem Vieleck (Schritt A3). Danach ermittelt sie, ob das herausgenommene
Liniensegment sich mit anderen Liniensegmenten überschneidet oder nicht (Schritt
A4). Überschneidet
es sich, wird ein Knotenpunkt zu dem überschneidenden Teil hinzugefügt und die
Pfade werden ausgetauscht (Schritt A5). Dieser Prozess wird unter
Bezugnahme auf 5A bis 5D und 6 erläutert.
-
Wenn grafische Pfade bestehend aus
den einzelnen Liniensegmenten entsprechend der Darstellung in 5A vorhanden sind, wird
als erster Schritt der Knotenpunkt der einzelnen Liniensegmente
berechnet, und entsprechend der Darstellung in 5B wird ein neuer Knotenpunkt an der
Stelle der einzelnen Knotenpunkte auf jedem der vorgenannten grafischen
Pfade eingefügt.
In diesem Zustand überschneiden
sich die kontinuierlichen Richtungen der Liniensegmente, wie durch
die unterbrochene Pfeillinie in der Figur gezeigt wird.
-
Danach tauscht die Pfadaustauscheinheit 18 die
Pfade zwischen den grafischen Pfaden an den vorgenannten neu eingesetzten
Punkten aus, so dass die kontinuierlichen Richtungen der Liniensegmente
einander nicht überschneiden.
In dieser Weise kann die Überschneidung
zwischen den Liniensegmenten entsprechend der Darstellung in 5C entfernt werden. Dieses
Verfahren wird kurz unter Bezugnahme auf 6A und 6B beschrieben.
-
6a bzw. 6B stellen den Zustand vor und
nach dem Pfadaustausch dar. Es wird angenommen, dass die den vorgenannten Überschneidungsteilen
zugefügten
Punkte die Punkte B bzw. E sind. Vor dem Pfadaustausch verläuft jeder
Pfad in der Folge Punkt A → Punkt
B → Punkt
C, Punkt D → Punkt
E → Punkt
F, so dass er sich am Punkt B und Punkt E überschneidet. Andererseits
tauscht die vorgenannte Pfadaustauscheinheit 18 die Pfade
an diesem Punkt B und Punkt E aus, und bewirkt, wie in 6B dargestellt wird, den
werteren Verlauf der Pfade in der Folge Punkt A → Punkt B → Punkt F, Punkt D → Punkt E → Punkt C
und löscht
damit die Überschneidung
der Pfade.
-
Danach stellt die vorgenannte Pfadaustauscheinheit 18 fest,
ob der vorgenannte Prozess auf alle Elemente angewandt wurde (Schritt
A6) oder nicht; und wenn dies nicht der Fall ist, liest sie ein werteres
Liniensegment, kehrt zu Schritt A4 zurück und setzt den Prozess fort
(Schritt A7).
-
Danach löscht die Löscheinheit für enthaltene
vieleckige Pfade 19 die unnötigen, innerhalb eines Vieleckes
enthaltenen Vielecke. Insbesondere wird zunächst die zyklische Richtung
der einzelnen vorgenannten Vielecke ermittelt (Schritt A8). Danach
ermittelt sie in Bezug auf zwei Vielecke mit der gleichen zyklischen
Richtung, ob eines davon vollständig
in einem anderen enthalten ist oder nicht (Schritt A9). In dem in 5C gezeigten Beispiel ist
ein solches Vieleck vorhanden. In diesem Falle wird, wie in 5D dargestellt wird, dieses
im Inneren vorhandene Vieleck gelöscht (Schritt A10). Es wird
festgestellt, ob dieser Prozess auf alle Elemente angewandt wurde
oder nicht (Schritt A11); ein werteres Vieleck wird gelesen; es
wird zum Schritt A8 zurückgekehrt;
und der Prozess wird fortgesetzt (Schritt A12). Ein Beispiel einer
Fläche
mit unnötigen
Vielecken, die in dieser Weise entfernt wurden, wird in 7 dargestellt. Im Vergleich
zu 2A können wir sehen, dass nur der
Konturteil dargestellt wird.
-
Im Folgenden wird der von der vorgenannten Skelettstrukturbildungseinheit 20 ausgeführte Skelettschriftbildungsprozess
erläutert.
Wie in 3 dargestellt
wird, besitzt die vorgenannte Skelettstrukturbildungseinheit 20 eine
Zeichenbreitenberechnungseinheit 27, die die Zeichenbreite
einer Konturschrift berechnet, eine Liniensegmentverschiebungseinheit 28,
die die Liniensegmente auf der Grundtage der berechneten Zeichenbreite
verschiebt, und eine Linienverschmelzungseinheit 29, die
die verschobenen Liniensegmente zu einem Liniensegment verschmilzt. Zunächst wird
die Funktionsweise der Berechnung der Zeichenbreite durch die vorgenannte
Zeichenbreitenberechnungseinheit 27 unter wesentlicher
Bezugnahme auf das Flussdiagramm in 8 erläutert.
-
In diesem Anwendungsbeispiel wird
die Länge,
die am häufigsten
bei Messungen in senkrechter Richtung zur Kontur auftritt, als Breite
des Zeichens angesehen. Das heißt,
dass bei der Ermittlung der Zeichenbreite zunächst, wie in 9 dargestellt, für ein Liniensegment die Entfernung
für den
Weg der senkrechten Winkelhalbierenden durch das Innere der Fläche hindurch
und aus dieser Fläche
heraus festgestellt wird. Da ein zu großer Wert als Zeichenbreite
eingegeben werden kann, muss der obere Grenzwert für die Entfernung
ermittelt werden, und der diesen Wert übersteigende Wert ist aus der
Berechnung auszuschließen.
Da die gemessene Breite in Abhängigkeit
von der Messstelle schwankt, wird zur Ausschaltung dieses Problems
der gewichtete Durchschnittswert mit der Länge des Liniensegments als
Multiplikator bei der Ermittlung des Durchschnittswertes der Breite
als Berechnungszeichenbreite gesetzt. Zur Ermittlung des gewichteten
Durchschnittswertes ist vorzugsweise so zu verfahren, dass eine Liniensegmentvariable
L und eine Multiplikatorvariable M erstellt werden.
-
Die vorgenannte Zeichenbreitenberechnungseinheit 27 liest
speziell die in 7 (Schritt
B1 in 8) dargestellten
grafischen Pfaddaten. Für
jedes Liniensegment, das diesen grafischen Pfad entsprechend 9 darstellt, wird unter
der Annahme der senkrechten Winkelhalbierenden dieses Liniensegments
die Entfernung zur Überschneidungsstelle durch
das Innere der Fläche
berechnet (Schritt B2). Wenn diese Entfernung größer als der Schwellwert ist,
werden die Schritte B4 and B5 ignoriert (Schritt B3), und wenn sie
innerhalb des Schwellwertes liegt, wird die Entfernung des Liniensegments
zur Liniensegmentvariablen L hinzugefügt (Schritt B4), und das Produkt
der senkrechten Entfernung multipliziert mit der Liniensegmententfernung
wird zur Multiplikatorvariablen M hinzugefügt (Schritt B5). Ob dieser
Prozess bei allen Elementen angewandt wird oder nicht, wird ermittelt
(Schritt B6); weitere Linien werden gelesen; und der Prozess kehrt
zu Schritt B2 zurück
und wird fortgesetzt (Schritt B7). Nachdem alle Berechnungen ausgeführt wurden,
kann der gewichtete Durchschnittswert durch Division der Multiplikatorvariablen
durch die Liniensegmentvariable ermittelt werden (Schritt B8). Die
Gleichung lautet wie folgt: M + L = (Summe der (Liniensegmententfernung × Senkrechte
Entfernung)) + (Summe der Liniensegmententfernungen) = Gewichtete
Durchschnittsbreite eines Zeichens.
-
Ein Ausführungsbeispiel entsprechend
dieser Berechnung wird in 10 dargestellt.
Da die Breite dieses Zeichens in Abhängigkeit vom Vieleck schwankt,
muss die Zeichenbreite für
jedes Vieleck schriftlich erfasst werden. Wir haben jedoch die Schnittflächen (Flächen B und
C) in der Annahme, dass sie die gleichen Werte wie die diese umgebende
Darstellungsfläche
haben, nicht berechnet.
-
Im Folgenden wird die Verschiebung
der Liniensegmente durch die vorgenannte Liniensegmentverschiebungseinheit 28 unter
wesentlicher Bezugnahme auf das Flussdiagramm in 11 erläutert. Zunächst werden in diesem Prozess
zur Verarbeitung und Änderung
der in der an früherer
Stelle genannten Weise gebildeten Konturdaten als erster Schritt
die die vorgenannte Kontur bildenden Daten zu den Liniensegmenten
in einem vorgegebenen Bereich im Speicher kopiert (Schritt C1).
Danach wird die durch den Prozess der Ermittlung der Zeichenbreite
für jedes
Vieleck gewonnene Zeichenbreite gelesen (Schritt C2). Dann werden
die einander gegenüberliegenden
Liniensegmente und Punkte, die diese Zeichenbreite darstellen, erkannt.
-
Als nächster Schritt verschiebt die
vorgenannte Liniensegmentverschiebungseinheit 28 die einzelnen
vorgenannten Liniensegmente im Inneren der Fläche um eine Länge, die
der halben gelesenen Zeichenbreite entspricht (Schritt C3). In dieser
Weise wird, wie in 12 dargestellt
wird, ein neuer Knotenpunkt K zwischen benachbarten Liniensegmenten erzeugt,
und somit wird die Koordinate dieses Knotenpunktes K berechnet (Schritt
C4), und dieser Knotenpunkt K wird anstelle des ursprünglichen
Ausgangspunktes oder Endpunktes eingesetzt (Schritt C6). In dieser
Weise bilden benachbarte Liniensegmente einen grafischen Pfad, der
durch diesen Knotenpunkt verläuft.
-
Nachdem der vorgenannte Prozess auf
alte Punkte angewandt wurde, wird der gleiche Prozess für die anderen
Vielecke ausgeführt
(Schritt C6 und C7). In dieser Weise können grafische Daten durch eine
gleichmäßige maßstäbliche Verkleinerung
aller Vielecke in der in 13 dargestellten
Form gewonnen werden.
-
In diesem Zustand liegt das gewonnene
Ergebnis fast vollständig
als Skelettstruktur vor. Weiterhin fasst die vorgenannte Liniensegmentverschmelzungseinheit 29 benachbarte
Punkte und Liniensegmente zusammen, und die in 14 dargestellten Skelettstrukturdaten
werden gewonnen. Dieser Verschmelzungsprozess wird zum Beispiel
durch Verschiebung zweier benachbarter Punkte zu einer Koordinate
in der Mitte ausgeführt.
-
An den in dieser Weise gewonnenen
Skelettstrukturdaten halten die die Kontinuität der Liniensegmente anzeigenden
Daten nicht unbedingt die Strichfolge des Zeichens ein. Somit bewirken
in diesem Ausführungsbeispiel
die Einheit zur Bestimmung der Kontinuität der Liniensegmente 21 und
die Liniensegmentverknüpfungseinheit 22 eine
Erneuerung der die Kontinuität
der Liniensegmente anzeigenden Daten, um so die Strichfolge des
Zeichens einzuhalten.
-
Dazu dividiert die Einheit zur Bestimmung der
Kontinuität
der Liniensegmente 21 zunächst die einzelnen, aus Vielecken
bestehenden Liniensegmente und erstellt eine Liste der Liniensegmente (Schritt
D1 in 15). Danach ermittelt
sie, ob überlappende
Liniensegmente vofianden sind oder nicht (Schritt D3). Wenn überlappende
Liniensegmente vorhanden sind, wird eines der Liniensegmente gelöscht (Schritt
D4). Es wird ermittelt, ob dieser Prozess für alle Elemente ausgeführt wurde
oder nicht (Schritt D5), und wenn dieser nicht ausgeführt wurde, kehrt
die Einheit zu Schritt D3 zurück
(Schritt D6) und wiederholt den gleichen Prozess.
-
Danach werden aus der Liste der Liniensegmente
nach Entfernung der überlappenden
Liniensegmente Koordinaten gesucht, in denen zwei oder mehr Punkte überlappen
(Schritt D7). Diese Koordinate ist ein Verbindungspunkt, und die
mit dieser Koordinate verbundenen Liniensegmente werden gesucht
(Schritt D8). Danach werden aus den Liniensegmenten, die mit den
einzelnen Verbindungspunkten verbunden sind, zwei Liniensegmente,
die mit dem geringsten Gefälleunterschied
verbunden werden, ausgesucht und so verbunden, dass Kontinuität erreicht
wird (Schritt D9). An einem Punkt, an welchem drei oder mehr Liniensegmente
verbunden sind, wie es bei dem in 16 eingekreisten
Teil der Fall ist, werden die Liniensegmente entsprechend der Strichfolge
in diesem Prozess verbunden. Nachdem der vorgenannte Prozess auf
alle Verbindungspunkte und alle Liniensegmente angewandt wurde (Schritt
D11), wird ein Verknüpfungsprozess
entsprechend der Darstellung in 17 unter
Einhaltung der Strichfolge ausgeführt (Schritt D12). In dieser
Weise kann eine Skelettstruktur eines Zeichens gebildet werden,
für die
ein Prozess der dekorativen Änderung
angewandt werden kann.
-
In einem nächsten Schritt führt die
Zeichendekorausgabeeinheit 23 eine dekorative Änderung auf
der Grundlage der vorstehend gewonnenen Skelettstruktur aus. In
diesem Falle wird die dekorative Änderung in der vorgegebenen
Form, wie sie in den vorgenannten Zeichendekordaten 13 gespeichert
ist, auf die gewonnene Linienfolge angewandt (3). 18A zeigt
einen Zustand, in welchem eine zylinderförmige Erscheinungsform dargestellt
wird. Durch Hinzufügung
weiterer Bedingungen wie des Endpunktes der Linienfolge oder des
Winkels zum Linienfolgeanschluss können verschiedene dreidimensionale
Gebilde erzeugt werden. Durch Aufbringung einer Musterung in der
in 18B gezeigten Weise
auf das massive dreidimensionale Gebilde, dessen äußere Form
in dieser Weise angepasst ist, kann eine dekorative Änderung
entsprechend der Struktur des Zeichens erreicht werden.
-
In den vorgenannten Zeichendekordaten 13 sind
vorzugsweise verschiedene Muster gespeichert, die für die Dekoration
der Zeichen benötigt
werden. Zum Beispiel werden Bedingungen in Bezug auf den Endpunkt
der Linienfolge oder die Umwandlung des Anschlusswinkels der Linienfolge,
die Projektionsbedingung, dreidimensionale Formen wie Zylinder oder Prisma,
Strukturierung, Abbildung usw. vorgeformt, definiert und gespeichert.
-
19A, 19B und 19C zeigen Beispiele, in denen ähnliche
Prozesse auf Konturschriften in englischer, arabischer bzw. koreanischer
Sprache angewandt werden. Entsprechend der vorliegenden Erfindung
kann, wie hier gezeigt wird, der Rahmen von Zeichen nach der Strichfolge
in jeder Sprache erstellt werden, und dekorative Änderungen
können
an diesen Zeichen ausgeführt
werden.
-
Die vorgenannte Zeichendekorausgabeeinheit 23 kann
vorzugsweise nicht nur Daten als Strukturdaten ausgeben, an denen
eine Zeichendekoration in dieser Weise ausgeführt wurde, sondern diese auch
als Daten, die in Bitmusterdaten konvertiert wurden, ausgeben.
-
In dieser Weise können die Daten direkt als Bilddaten
an verschiedenen Stellen wie zum Beispiel "telops" (Femsehopakprojektoren) im Rundfunkbetrieb
genutzt werden
-
Die vorliegende Erfindung ist ferner
nicht auf das vorgenannte Ausführungsbeispiel
beschränkt. Sie
kann innerhalb eines Geltungsbereiches, in welchem die Punkte der
Erfindung nicht verändert
werden, in verschiedenartigen Varianten ausgeführt werden.
-
Wenn zum Beispiel die Zeichenbreite
in dem vorliegenden Ausführungsbeispiel
festgelegt wurde, um die Linie in Skelettstruktur darzustellen,
ist das Verfahren zur Darstellung der Linie in Skelettstruktur nicht
darauf beschränkt.
Anstelle der Festlegung der Zeichenbreite kann zum Beispiel ein
Paar Liniensegmente, die diese Zeichenbreite festlegen, um eine bestimmte
Entfernung in die Richtung verschoben werden, die eine Annäherung derselben
bewirkt.
-
Zusammenfassung
-
Es wird ein Verfahren zur Verarbeitung
von Konturschriften beschrieben. Zu dem Verfahren kann gehören: das
Lesen der Schriftdaten aus einem Konturschriftverzeichnis, in dem
die Konturdaten einer in eine Vielzahl von Teilstücken aufgeteilten
Konturschrift gespeichert sind; die Erstellung einer Vielzahl von
Elementstrukturen, bestehend aus den Daten, die die Umrisslinie
einer Konturschrift auf der Grundlage der vorgenannten, gelesenen
Schriftdaten erzeugen, und die Bildung eines vieleckigen zyklischen grafischen
Pfades durch Verbindung der einzelnen Elementstrukturen in einer
Folge; die Feststellung, ob die den vorgenannten vieleckigen zyklischen
grafischen Pfad bildenden Elementstrukturen die einen anderen grafischen
Pfad bildenden Elementstrukturen überschneiden oder nicht, die
Einfügung
eines Knotenpunktes am Überschneidungspunkt
der grafischen Pfade und Austausch der grafischen Pfade an diesem
Knotenpunkt, um zu vermeiden, dass die die einzelnen vieleckigen
zyklischen grafischen Pfade bildenden Elementstrukturen einander überschneiden;
die Feststellung, ob sich innerhalb eines vieleckigen grafischen
Pfades ein anderer vieleckiger grafischer Pfad befindet oder nicht,
der vollständig
darin enthalten ist und die gleiche zyklische Richtung wie der genannte
vieleckige/grafische Pfad hat, und die Löschung des genannten anderen
vieleckigen grafischen Pfades, und die Verschiebung der den vorgenannten
vieleckigen zyklischen grafischen Pfad bildenden Elementstrukturen
auf der Grundlage der Zeichenbreite dieser Konturschrift um eine
vorgegebene Entfernung in die Richtung der Zeichenbreite, wobei
es zur Ausgabe einer Vielzahl von Liniensegmenten, die durch die
Beseitigung der Zeichenbreite der vorgenannten Konturschrift entstehen,
kommt.