DE69230783T2 - Verfahren zur Justierung von Schriftzeichengewichtung von Konturzeichen - Google Patents
Verfahren zur Justierung von Schriftzeichengewichtung von KonturzeichenInfo
- Publication number
- DE69230783T2 DE69230783T2 DE69230783T DE69230783T DE69230783T2 DE 69230783 T2 DE69230783 T2 DE 69230783T2 DE 69230783 T DE69230783 T DE 69230783T DE 69230783 T DE69230783 T DE 69230783T DE 69230783 T2 DE69230783 T2 DE 69230783T2
- Authority
- DE
- Germany
- Prior art keywords
- character
- line
- control point
- adjusted
- curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 50
- 230000000694 effects Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Description
- Diese Erfindung betrifft Konturzeichen und insbesondere ein Verfahren zur Justierung der Schriftzeichengewichtung von Konturzeichen.
- EP 0 461 919 beschreibt auf den Seiten 12 und 28 ein Verfahren zur Konstruktion einer "parallelen" Parabel. Mit Hilfe eines Satzes trigonometrischer Gleichungen wird der Satz von drei Kontrollpunkten einer Parabel berechnet, die in einem festen Abstand von einer anderen Parabel ist, die ebenfalls durch drei Kontrollpunkte beschrieben wird.
- Häufig möchte ein Schriftzeichenentwerfer einen bestimmten Schriftzeichensatz (d. h., die Type mit einer bestimmten Größe in einem bestimmten Stil) abändern, so daß die Zeichen des Schriftzeichensatzes den gleichen allgemeinen Stil aufweisen, aber ein unterschiedliches Gewicht besitzen. Das heißt, es wird erwünscht, die Zeichen des Schriftzeichensatzes magerer oder fetter erscheinen zu lassen. In der Vergangenheit verlangte die Abänderung der Zeichengewichtung, die Pixelmusterdarstellung eines jeden Zeichens von Hand zu justieren, eine schwierige, zeitaufwendige Aufgabe, die große Erfahrung verlangt. Gegenwärtig lassen einige Schriftzeichensätze begrenzte Änderungen zu, damit durch die Verwendung eines komplizierten Systems von Hinweisen gewichtet werden kann.
- Eine Zielsetzung der Erfindung ist, ein schnelleres, weniger kompliziertes Verfahren zum Justieren des Gewichts eines Zeichens eines Konturzeichensatzes zu schaffen.
- Demgemäß wird ein Verfahren geschaffen, das das Gewicht eines Zeichens eines Konturzeichensatzes justiert, um ein justiertes Zeichen zu erzeugen, wobei das Zeichen und das justierte Zeichen durch Ansammlungen von Kontrollpunkten beschrieben werden, die das Zeichnen von Linien- oder Kurvenabschnitten führen, wobei jeder Linien- oder Kurvenabschnitt durch zwei Endkontrollpunkte beschrieben wird, und jeder Kurvenabschnitt auch durch zumindest einen mittleren Kontrollpunkt beschrieben wird. Gemäß dem Verfahren werden eine erste und zweite Linie für jeden Abschnitt des Zeichens bestimmt. Die erste Linie ist die Linie, die durch die zwei Endkontrollpunkte des Ab schnitts definiert ist, und die zweite Linie ist die Linie parallel zu der ersten Linie und von der ersten Linie mit einem vorbestimmten Abstand in einer vorbestimmten Richtung versetzt. Als nächstes werden erste Schnittpunkte für jeden Abschnitt des Zeichens bestimmt. Die ersten Schnittpunkte sind die Schnittpunkte zwischen der zugeordneten zweiten Linie und den zweiten Linien der angrenzenden Zeichenabschnitte. Die ersten Schnittpunkte werden als die Endkontrollpunkte des zugeordneten Abschnitts des justierten Zeichens festgelegt. Dann werden eine dritte und vierte Linie und ein zweiter Schnittpunkt für jeden Kurvenabschnitt des Zeichens bestimmt. Die dritte Linie ist die Linie, die durch einen Endkontrollpunkt des Zeichenkurvenabschnitts und den zugeordneten Endkontrollpunkt des zugeordneten, justierten Zeichenkurvenabschnitts definiert ist. Die vierte Linie ist die Linie, die durch den anderen Endkontrollpunkt des Zeichenkurvenabschnitts und dem zugeordneten Endkontrollpunkt des zugeordneten, justierten Zeichenkurvenabschnitts definiert ist. Der zweite Schnittpunkt ist der Schnittpunkt zwischen der zugeordneten dritten und vierten Linie. Eine fünfte und sechste Linie werden für jeden mittleren Kontrollpunkt eines jeden Kurvenabschnitts des Zeichens bestimmt. Die fünfte Linie ist die Linie, die durch den mittleren Kontrollpunkt und den zweiten Schnittpunkt definiert ist. Die sechste Linie ist die Linie, die durch den angrenzenden Endkontrollpunkt des zugeordneten Kurvenabschnitts des justierten Zeichens hindurchgeht und die parallel zu einer Linie ist, die durch den mittleren Kontrollpunkt des Zeichens und den angrenzenden Endkontrollpunkt des Zeichens definiert ist. Schließlich wird ein zugeordneter, mittlerer Kontrollpunkt des zugeordneten, justierten Zeichens für jeden mittleren Kontrollpunkt bestimmt. Der zugeordnete, mittlere Kontrollpunkt ist der Schnittpunkt zwischen der zugeordneten fünften und sechsten Linie.
- Die vorliegende Erfindung wird nun weiter in beispielhafter Weise unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
- Fig. 1 eine schematische Darstellung eines Zeichenas ist, wobei das Zeichen durch eine FIS Datei beschrieben wird, die die Kontrollpunkte des Zeichens enthält.
- Fig. 2 bis 6 schematische Darstellungen von Schritten beim Justieren des Zeichens der Fig. 1 sind, um das Zeichen magerer zu machen; und
- Fig. 7 bis 10 eine schematische Darstellung eines Zeichens, des kleinen Buchstabens j, sind, wobei jede Figur über der abgeänderten und nicht abgeänderten Version des Buchstabens liegt, und die Reihe der Figuren die aufeinanderfolgenden Schritte des Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung zeigen.
- Das Verfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung beinhaltet zwei getrennte Verfahren. Kurz gesagt macht das erste Verfahren die Abschnitte eines Zeichens dicker oder dünner in Abhängigkeit davon, ob das Gewicht des Zeichens fetter bzw. magerer gemacht werden soll. Dieses erste Verfahren jedoch ändert typischerweise Merkmale des Zeichens, wie die Weite und die Typengröße (d. h., die Höhe) des Zeichens, die unverändert bleiben sollten. Das zweite Verfahren korrigiert die unerwünschten Änderungen, die durch das erste Verfahren eingeführt wurden.
- Es wird nun auf die Fig. 1 bis 6 Bezug genommen, wodurch das erste Verfahren besser unter Bezugnahme auf ein Beispiel verstanden werden kann. In Fig. 1 ist eine schematische Darstellung eines Zeichens 10 eines Konturzeichens gezeigt. Das Zeichen 10 hat eine einfache, beliebige Form, die ausgewählt ist, um das Verfahren der Erfindung zu zeigen, und nicht, um einen bestimmten Buchstaben irgendeines Alphabets wiederzugeben. Das Zeichen 10 besteht aus sechs Abschnitten 12, die eine geschlossene Form bilden. Das Zeichen 10 kann durch irgendein Dateiformat, das Konturschriftsatzzeichen unterstützt, beschrieben werden. Insbesondere wird das Zeichen 10 durch eine Datei für einen Schriftsatzzeichenaustausch-Standard (FIS) beschrieben. Der FIS ist ein Zeichencode oder ein Format, das durch Interpress unterstützt wird, die eine Dokument- und Seitenbeschreibungssprache ist. Der FIS ist ausführlich in einer Druckschrift mit dem Titel "Font Interchange Standard", Veröffentlichungsnummer XNSS-239007, beschrieben, die von der Xerox Corporation erhältlich ist und hier durch Bezugnahme auf sie eingegliedert wird. Einzelheiten darüber, wie Interpress einem Drucker (nicht gezeigt) ermöglicht, ein Zeichen, wie das Zeichen 10, das durch eine FIS Datei wiedergegeben wird, zu drucken, kann in Veröffentlichungen mit dem Titel "Interpress Electronic Printing Standard", Veröffentlichungsnummer XNSS 048604, die von der Xerox Corporation er hältlich ist, und "Interpress: The Source Book", verlegt von Brady, gefunden werden, wobei beide hier durch Bezugnahme eingegliedert werden.
- Kurz gesagt beschreibt eine FIS Datei ein Zeichen in bezug auf ein zweidimensionales, kartesisches Koordinatensystem. Jede FIS Datei umfaßt zwei Hauptabschnitte, Zeichenmasten und Zeichenmetriken. Der Abschnitt mit den Zeichenmetriken beschreibt die Position eines Zeichens in bezug auf andere Zeichen in einer Zeichenzeile (d. h., Zeichenabstand) und in bezug auf die X-Achse (Grundlinie) und die Y-Achse (d. h., obere Ausdehnung, Unterlänge, linke und rechte Ausdehnung). Der Abschnitt der Zeichenmasken beschreibt die Form des Zeichens mittels eines Satzes von Kontrollpunkten, die Linien- oder Kurvenabschnitte definieren. Kurvenabschnitte werden durch konische, Bezier oder B-Splinekurven dritter oder höherer Ordnung beschrieben. Insbesondere werden die Kurvenabschnitte des Zeichens 10 in der Zeichenmaskendatei der FIS Datei durch Bezier-Kurven dritter Ordnung wiedergegeben, die vier Kontrollpunkte pro Kurvenabschnitt verlangen. Jeder Kontrollpunkt wird als eine kartesische Koordinate (d. h., (x, y)) festgelegt.
- Die sechs Abschnitte 12 des Zeichens 10 sind der Reihe nach ein Linienabschnitt 12-1, ein Kurvenabschnitt 12-2 und Linienabschnitte 12-3, 12-4, 12-5 und 12-6. Wie irgendein Linienabschnitt ist der Linienabschnitt durch die zwei Kontrollpunkte 14-1 und 14-2 definiert, die an gegenüberliegenden Enden des Linienabschnitts 12-1 angeordnet sind. Ebenso wie irgendein Bezier-Kurvenabschnitt dritter Ordnung ist der Kurvenabschnitt 12-2 durch vier Kontrollpunkte 14 definiert, einen Kontrollpunkt 14-2, der an einem Ende der Kurve 12-2 angeordnet ist, einen Kontrollpunkt 14-5, der an dem gegenüberliegenden Ende der Kurve 12-2 angeordnet ist, und zwei mittlere Kontrollpunkte 14-3 und 14- 4, die zwischen den Endkontrollpunkten 14-2 und 14-5 angeordnet sind. Der Linienabschnitt 12-3 ist durch Endkontrollpunkte 14-5 und 14-6 definiert, der Linienabschnitt 12-4 ist durch Endkontrollpunkte 14-6 und 14-7 definiert, der Linienabschnitt 12-5 ist durch die Endkontrollpunkte 14-7 und 14-8 definiert, und der Linienabschnitt 12-6 ist durch Endkontrollpunkte 14-8 und 14-1 definiert. Der von den Abschnitten 12 eingeschlossene Bereich 16 ist der Bequemlichkeit halber leer gezeigt, wobei aber das Zeichen 10 wahrscheinlicher mit einem gefüllten Bereich 16 (z. B. durchgehendes Schwarz) gedruckt würde.
- Nun auf die Fig. 1, 2 und 6 Bezug nehmend justiert das erste Verfahren das Gewicht des Zeichens 10, um ein neues Zeichen 18 zu bilden, in dem die Kontrollpunkte 14 der Zeichenmasken der FIS Datei des Zeichens 10 justiert werden, um neue Kontrollpunkte 20 der Zeichenmasken des Zeichens 18 zu erzeugen. Das Verfahren justiert dann die Zeichenmetriken des Zeichens 10, um die Änderungen an dem Zeichen 10 in den Zeichenmetriken des neuen Zeichens 18 wiederzugeben.
- Beim Arbeiten mit den Zeichenmasken bestimmt das Verfahren zuerst eine Justierung an den Endkontrollpunkten (d. h., 14-1, 14-2, 14-5 und 14-6), bestimmt dann eine Justierung an den mittleren Kontrollpunkten (d. h., 14-3 und 14-4). Um die Endkontrollpunkte zu justieren, ist der erste Schritt, Endkontrollpunktlinien 22 für jeden Abschnitt 12 zu bestimmen, wie es in Fig. 3 gezeigt ist. Eine Endkontrollpunktlinie 22 ist die Linie, die durch (d. h., mittels) zwei Kontrollpunkte 14 an dem Ende eines Abschnitts 12 definiert ist. Alternativ ist für die Linienabschnitte, wie 12-1, die entsprechende Endkontrollpunktlinie 22-1 kollinear zu dem Linienabschnitt 12-1, und der Linienabschnitt 12-1 selbst kann der Aufgabe der Endkontrollpunktlinie 22-1 dienen. (Der Klarheit halber ist in Fig. 2 der einzige bezeichnete Linienabschnitt der Endkontrollpunktlinie der Abschnitt Endkontrollpunktlinie 22-1.) Jedoch wird für die Kurvenabschnitte, wie den Kurvenabschnitt 12- 2, eine Endkontrollpunktlinie 22-2 durch entsprechende Endkontrollpunkte 14-2 und 14- 5 erzeugt. Als nächstes wird für jeden Abschnitt 12 eine neue Endkontrollpunktlinie 24 erzeugt, die parallel zu der zugeordneten Endkontrollpunktlinie 22 aber von der Endkontrollpunktlinie 22 mit einem festgelegten Abstand in einer Richtung versetzt ist, die zu der Endkontrollpunktlinie 22 normal ist und davon abhängt, ob das Zeichen 10 magerer oder fetter gemacht werden soll. Um es magerer zu machen, wird die Richtung gewählt, die den Bereich des Zeichens 10 dünner macht, für den der Abschnitt 12 eine Grenze ist, und um es fetter zu machen, wird die entgegengesetzte Richtung gewählt. Die Schnittpunkte zwischen einer Endkontrollpunktlinie 24 und ihrer zwei angrenzenden Endkontrollpunktlinien 24 definieren die neuen Kontrollpunkte 20 an den Enden der Abschnitte 26 des neuen Zeichens 18. Mit den neuen, für die Enden definierten Kontrollpunkte 20 ist das erste Verfahren für die Linienabschnitte, wie den Linienabschnitt 26-1, abgeschlossen.
- Die Justierung der mittleren Kontrollpunkte ist ein umfänglicheres Verfahren als das Justieren der Endkontrollpunkte. Nun auf Fig. 4 Bezug nehmend wird für jeden Kurven abschnitt, wie den Kurvenabschnitt 12-2, eine Linie 28-1 durch einen Endkontrollpunkt, den Kontrollpunkt 14-2, des alten Abschnitts, den Abschnitt 12-2 und den zugeordneten Endkontrollpunkt, den Kontrollpunkt 20-2 des neuen Abschnitts und den Abschnitt 26-2 definiert. Ebenso wird eine Linie 28-2 durch einen Kontrollpunkt 14-5 und einen Kontrollpunkt 20-5 definiert. Der Schnittpunkt 30 der Linien 28-1 und 28-2 wird dann bestimmt. Der Schnittpunkt 30 wird dann mit den mittleren Kontrollpunkten 14 verwendet, um Linien 32 zu definieren, entlang denen die neuen, mittleren Kontrollpunkte 20 liegen, wie es in Fig. 5 gezeigt ist. Die Linie 32-1 ist durch den Schnittpunkt 30 und den Kontrollpunkt 14-3 definiert, und die Linie 32-2 ist durch den Schnittpunkt 30 und den Kontrollpunkt 14-4 definiert. Um die mittleren Kontrollpunkte 20-3 und 20-4 entlang den entsprechenden Linien 32-1 und 32-2 anzuordnen, müssen zuerst die Linien 34 definiert werden. Die Linien 34 sind Linien, die durch einen mittleren Kontrollpunkt 14 und seinen angrenzenden Endkontrollpunkt 14 definiert sind. Insbesondere ist die Linie 34-1 durch den Endkontrollpunkt 14-2 und den mittleren Kontrollpunkt 14-3 definiert, und die Linie 34-2 ist durch den Endkontrollpunkt 14-5 und den mittleren Kontrollpunkt 14-4 definiert. Als nächstes werden die Linien 36 definiert. Die Linien 36 sind zu einer zugeordneten Linie 34 parallele Linien, die auch durch einen Endkontrollpunkt 20 hindurchgehen. Insbesondere ist die Linie 36-1 parallel zu der Linie 34-1 und geht durch den Endkontrollpunkt 20-2 hindurch. Ebenso ist die Linie 36-2 parallel zu der Linie 34-2 und geht durch den Endkontrollpunkt 20-5 hindurch. Die mittleren Kontrollpunkte 20 sind dann die Schnittpunkte zwischen der zugeordneten Linie 36 und der zugeordneten Linie 32. Insbesondere ist der mittlere Kontrollpunkt 20-3 der Schnittpunkt zwischen der Linie 36-1 und der Linie 32-1. Ebenso ist der mittlere Kontrollpunkt 20-4 der Schnittpunkt zwischen der Linie 36-2 und der Linie 32-2.
- Es gibt zwei Methoden, Zeichenmetriken für ein neues Zeichen 18 zu erzeugen. Eine Methode ist, neue Parameter (z. B. obere Ausdehnung, Unterlänge, linke Ausdehnung und rechte Ausdehnung) für jedes Zeichen des Zeichenschriftsatzes zu berechnen. Die andere Methode ist, die Änderungen für ein einziges, repräsentatives Zeichen des Zeichenschriftsatzes zu berechnen, und dann diese Änderungen auf jedes Zeichen des Zeichensatzes anzuwenden. Vorzugsweise wird die zweite Methode verwendet, da sie viel weniger Berechnung verlangt, trotzdem annehmbare Ergebnisse liefert. Für das englische Alphabet ist das repräsentative Zeichen, das typischerweise verwendet wird, der Großbuchstabe H. Der Großbuchstabe H wird gewählt, weil er das Zeichen mit dem größten Anstieg ist und auf der Grundlinie ruht. Bei dem Buchstaben H sind die Justierungen auf die Zeichenmetriken einfach und schnell. Für ein mager gemachtes Zeichen werden die obere Länge, die Unterlänge, die linke Ausdehnung und die rechte Ausdehnung um die Größe des vorbestimmten Abstands verringert. Der Parameter für den Zeichenabstand wird nicht geändert, weil dieser Parameter der gleiche zwischen dem ursprünglichen und dem gewichtsjustierten Zeichensatz bleiben soll. Um den Buchstaben H fetter zu machen werden die Parameter (mit Ausnahme des Zeichenabstands) einfach um den vorbestimmten Abstand erhöht. Das sich ergebende Zeichen, das Zeichen 18, ist in Fig. 6 gezeigt.
- Es wird nun auf Fig. 6 Bezug genommen, in der das neue Zeichen 18 gesehen werden kann, das es in bezug auf das Gewicht leichter als das alte Zeichen 10 ist, während der Stil des Zeichens 10 beibehalten wird. Jedoch unterscheidet sich das Zeichen 18 von dem Zeichen 10 in bezug auf andere, unerwünschte Punkte, insbesondere in bezug auf die Zeichenweite, die Höhe und die vertikale Position. Diese Nebenwirkungen des ersten Verfahrens werden besser bei einem komplizierteren Zeichen als das Zeichen 10 erkannt.
- Es wird nun auf Fig. 7 Bezug genommen, in der ein Zeichen 40 gezeigt ist, ein kleiner Buchstabe j aus dem Times Roman Zeichensatz. Das Zeichen 40 ist durch die Verwendung des ersten Verfahrens magerer gemacht worden, wodurch sich das Zeichen 42 ergibt. Das Zeichen 42 ist zur Erleichterung des Vergleichs in Überlagerung zu dem Zeichen 40 gezeigt. Die Zeichen 40 und 42 werden in Bezug auf einen Ursprung 44 eines kartesischen Koordinatensystems beschrieben, das eine horizontale X-Achse 46 und eine vertikale Y-Achse 48 aufweist, die beide durch einen Ursprung 44 hindurchgehen. Der Einfachheit halber wird in dem FIS Format der Ursprung 46 so gewählt, daß die X- Achse 46 zu der Grundlinie des Zeichensatzes ausgerichtet ist. Die Ausdehnung der betreffenden beabstandeten Zeichen 40 und 42 in der positiven X-Richtung ist als die Rechtsausdehnung 54 bzw. 56 bekannt, und die Ausdehnung der betreffenden beabstandeten Zeichen 40 und 42 von ihren linkesten Rändern zu der Y-Achse 48 ist als Linksausdehnung 58 bzw. 60 bekannt. Die Typengröße der Zeichen 40 und 42 (d. h., die Höhe der Zeichen in Punkten ausgedrückt, z. B. 12 Punkte), von ihrem untersten Abschnitt zu der X-Achse 36 gemessen, ist als die Unterlänge 62 bzw. 64 bekannt. Die Höhen der Zeichen 40 und 42, von der X-Achse zu dem obersten Abschnitt gemessen, sind als obere Länge 66 bzw. 68 bekannt. Aus Fig. 7 kann man sehen, daß sich das magerer gemachte Zeichen 42 von dem Zeichen 40 in allen oben genannten Parametern, natürlich mit Ausnahme des Zeichenabstands, unterscheidet. Diese Unterschiede bedeuten, daß, obgleich magerer gemachte Zeichen die gleiche allgemeine Form wie die ursprünglichen Zeichen aufweisen, eine Linie der magerer gemachten Zeichen ohne weitere Abänderung unterschiedlich gegenüber einer Linie der ursprünglichen Zeichen erscheinen würde, da die mageren Zeichen auf einer unterschiedlichen Grundlinie liegen würden. Des weiteren können magerer gemachte Zeichen sogar so aussehen, daß sie voneinander verschiedene Grundlinien aufweisen.
- Das zweite Verfahren bei der bevorzugten Ausführungsform der vorliegenden Erfindung behandelt die Unterschiede, die durch das Justieren des Gewichts der Zeichen hervorgerufen werden. Der erste Schritt des zweiten Verfahrens ist, ein magerer gemachtes Zeichen 42 zu dem Zeichen 40 vertikal auszurichten. Es wird nun auf Fig. 8 Bezug genommen, wobei die vertikale Justierung erreicht wird, indem zuerst das Zeichen 42 in bezug auf seine Änderung der Unterlänge (von der Unterlänge 62 zu der Unterlänge 64) ausgeglichen wird, so daß das untere Ende (d. h., der unterste Abschnitt) des Zeichens 42 zu dem unteren Ende des Zeichens 40 ausgerichtet ist. Eine Methode, die Justierung abzusenken, ist die Zeichenmetriken der Zeichen 40 und 42 zu vergleichen und die Differenz zwischen den Unterlängen 62 und 64 zu berechnen. Die Unterlängendifferenz könnte dann als eine Versetzung angewendet werden, um die Kontrollpunkte der Zeichenmasken des Zeichens 42 zu versetzen. Insbesondere würden die Kontrollpunkte des Zeichens 42 in der negativen Y-Richtung um die Größe der Differenz verschoben, eine Operation, die die x Komponente eines jeden Kontrollpunkts nicht beeinflussen würde. Vorzugsweise jedoch würde das obige Vorgehen nur für das repräsentative Zeichen, das Zeichen H, berechnet, und diese Differenz wird auf die anderen Zeichen des Zeichensatzes angewendet.
- Unter Bezugnahme auf Fig. 9 wird als nächstes das magerer gemachte Zeichen 42 zu dem Zeichen 40 in der oberen Länge justiert. Um die oberen Längen 66 und 68 zu justieren, ist eine erste Methode, die Kontrollpunkte des Zeichens 42 mit einem Faktor zu skalieren, der dem Zeichen 42 eine obere Länge 68 gibt, die gleich der oberen Länge 66 des Zeichens 40 ist, wobei die Zeichenmetriken geändert werden, um die Änderungen wiederzugeben. Mit der ersten Methode können unterschiedliche Zeichen in einem Zeichensatz unterschiedliche Skalierungsfaktoren verlangen. Eine zweite Methode ist, zuerst einen einzigen Skalierungsfaktor für alle Zeichen in einem Zeichensatz zu bestimmen, indem die erste Methode auf das repräsentative Zeichen, den Großbuchstaben H, angewendet wird. Als nächstes kann dieser Skalierungsfaktor auf die verbleibenden Zeichen in dem Zeichensatz angewendet werden. Fig. 9 zeigt die zweite Methode. Bei beiden Methoden zur oberen Längenjustierung wird der Skalierungsfaktor auf die horizontale Abmessung (d. h., die Komponente der Kontrollpunkte auf der X-Achse 46), sowie die vertikale Abmessung (d. h., die Komponente der Kontrollpunkte auf der Y- Achse 48) des Zeichens 42 angewendet, so daß die Form des Zeichens 42 beibehalten wird. Im Gegensatz dazu kann die Form des Zeichens 42 verzerrt sein, wo der Skalierungsfaktor nur auf die vertikale Abmessung angewendet wird.
- Eine Nebenwirkung der obere Längenjustierung durch die Skalierung ist eine Fehljustierung des Unterlängenabschnitts des magerer gemachten Zeichens 42 in bezug auf den Unterlängenabschnitt des Zeichens 40. Wie man in Fig. 9 sehen kann, erstreckt sich nun der unterste Abschnitt des Zeichens 42 bis etwas unterhalb des untersten Abschnitts des Zeichens 40. Im allgemeinen zeigen Zeichen, die einen Unterlängenwert größer als Null aufweisen, eine ähnliche Fehljustierung, und Zeichen, die auf der Grundlinie liegen (Unterlänge ist Null, und der niedrigste Wert der Kontrollpunkte auf der Y- Achse 48 ist Null), die die meisten Zeichen sind, sind in ihrer Unterlänge nicht fehlausgerichtet.
- Wie man in Fig. 9 sehen kann, hat die Anwendung des Skalierungsfaktors auf die horizontale Abmessung die unerwünschte Wirkung, das Zeichen 42 nach rechts zu verschieben (d. h., die Kontrollpunkte entlang der positiven X-Achse 46 zu bewegen), da der größte Teil des Zeichens 42 und damit die skalierten Kontrollpunkte rechts von der Y-Achse 48 liegen. Ein einfaches Verfahren, diese horizontale Skalierungsverschiebung zu verfolgen, ist, den Skalierungsfaktor auf den Zeichenabstand des Zeichens 40, den X-Zeichenabstand 50, anzuwenden, um einen neuen Abstand für das Zeichen 42, den X-Zeichenabstand 52, zu erzeugen. (Natürlich ist diese Änderung nur vorübergehend; der X- Zeichenabstand 52· wird später auf den Wert des X- Zeichenabstands 50 zurückgeführt, wodurch der Zeichenabstand zwischen dem ursprünglichen und dem magerer gemachten Schriftsatz beibehalten wird.) Um die Rechtsverschiebung, wie sie in Fig. 10 gezeigt ist, auszugleichen, wird das Zeichen 42 nach links verschoben, der zu der Rich tung der unerwünschten Verschiebung entgegengesetzten Richtung, indem seine Kontrollpunkte um eine Größe verschoben werden, die gleich der halben Differenz zwischen den X Zeichenabständen 50 und 52 ist. Die notwendigen Justierungen werden dann an der Zeichenmetrik des Zeichens 42 vorgenommen (d. h., die Justierung wird bei der Rechts- und Linksausdehnung 56 und 58 des Zeichens 42 gemacht). Der Wert des X- Zeichenabstands 52 des Zeichens 42 wird dann auf den Wert des X-Zeichenabstands 50 des Zeichens 40 justiert.
- Wenn das Zeichen 42 fetter statt magerer gemacht wird, würde ein ähnliches zweites Verfahren mit der Ausnahme verwendet, daß die Justierung der Zeichen 40 und 42 in bezug auf die Unterlänge das Anheben der Kontrollpunkte des Zeichens 42 (statt Absenken der Kontrollpunkte) um den beschriebenen Abstand beinhalten würde, und das Justieren der Zeichen 40 und 42 in bezug auf die obere Länge würde beinhalten, das Zeichen 42 kleiner statt größer zu skalieren. Das Ausrichten der Zeichen 40 und 42 in der Weite würde weiterhin eine horizontale Verschiebung um die Hälfte Abastandsänderung in der Richtung entgegengesetzt zu der Richtung der unerwünschten Verschiebung beinhalten. (Jedoch wäre bei einem Zeichen, das fetter statt magerer gemacht wird, die Ausgleichsverschiebung nach rechts statt nach links.)
- Unter Bezugnahme auf Fig. 1 ist, obgleich der Kurvenabschnitt 12-2 ein Bezier-Kurvenabschnitt war, das Verfahren der Erfindung ebenfalls auch auf andere Arten Kurvenabschnitte anwendbar. Insbesondere gilt das Verfahren in gleicher Weise für konische Kurvenabschnitte, wie es auf den Seiten 219 bis 223 von Interpress: The Source Book, beschrieben ist. Die konischen Kurvenabschnitte verwenden typischerweise nur drei Kontrollpunkte, die zwei Endpunkte und einen einzigen mittleren. Des weiteren kann das Verfahren bei B-Splinekurven verwendet werden, indem zuerst alle Abschnitte, die durch B-Splinekurven dargestellt sind, in Bezier-Kurvenabschnitte mit vier Kontrollpunkten umgewandelt werden, wie es auf den Seiten 226 bis 227 von Interpress: The Source Book beschrieben ist. Ebenso wäre es einem Durchschnittsfachmann auf dem Gebiet gut bekannt, die B-Splinekurven in Bezier-Kurven mit mehr als vier Kontrollpunkten umzuwandeln, und es wäre dem Durchschnittsfachmann auf dem Gebiet auch gut bekannt, die Erfindung auf Kurven anzuwenden, die eine höhere Ordnung als drei aufweisen.
Claims (8)
1. Verfahren zur Justierung des Gewichts eines Zeichens (10) eines
Konturzeichensatzes, um ein justiertes Zeichen (18) zu erzeugen, wobei das Zeichen (10)
und das justierte Zeichen (18) durch eine Sammlung von Kontrollpunkten (14,
20) beschrieben werden, die das Zeichnen von Linien- oder Kurvenabschnitten
(12, 26) lenken, wobei jeder Linien- oder Kurvenabschnitt durch zwei
Endkontrollpunkte beschrieben werden, und jeder Kurvenabschnitt auch durch
zumindest einen mittleren Kontrollpunkt (14-3, 14-4) beschrieben wird,
gekennzeichnet durch
a. Bestimmen einer ersten Linie (22-2) für jeden Abschnitt (z. B. Kurvenabschnitt
12-2) des Zeichens (10), die durch die zwei Endpunkte (14-2, 14-5) des
Abschnitts (12-2) definiert wird, und Bestimmen einer zweiten Linie (24-2) parallel zu
der ersten Linie (22-2) und von ihr durch einen vorbestimmten Abstand in einer
vorbestimmten Richtung versetzt;
b. Auffinden von ersten Schnittpunkten (20-2, 20-5) für jeden Abschnitt (12-2)
des Zeichens (10), die als die Schnittpunkte (20-2, 20-5) zwischen der
zugeordneten zweiten Linie (24-2) und den zweiten Linien (24-1, 24-3) der angrenzenden
Zeichenabschnitte definiert sind, und Festlegen der ersten Schnittpunkte (20-2,
20-5) als die Endkontrollpunkte (20-2, 20-5) des zugeordneten Abschnitts (26-2)
des justierten Zeichens (18),
c. Bestimmen einer dritten Linie (28-1) für jeden Kurvenabschnitt (12-2) des
Zeichens (10), die durch einen Endkontrollpunkt (14-2) des
Zeichenkurvenabschnitts (12-2) und des zugeordneten Endkontrollpunkts (20-2) des
zugeordneten Kurvenabschnitts (26-2) des justierten Zeichens definiert ist, und einer vierten
Linie (28-2), die durch den anderen Endkontrollpunkt (14-5) des
Zeichenkurvenabschnitts (12-2) und den zugeordneten Endkontrollpunkt (20-5) des
zugeordneten Kurvenabschnitts (26-2) des justierten Zeichens definiert ist, und Bestimmen
eines zweiten Schnittpunkts (30) für jeden Kurvenabschnitt (12-2), wobei der
zweite Schnittpunkt (30) der Schnittpunkt zwischen der zugeordneten dritten und
vierten Linie (28-1, 28-2) ist; und
d. Bestimmen einer fünften Linie (32-1, 32-2) für jeden mittleren Kontrollpunkt
(14-3, 14-4) eines jeden Kurvenabschnitts (12-2) des Zeichens (10), die durch
den mittleren Kontrollpunkt (14-3, 14-4) und den zweiten Schnittpunkt (30)
definiert ist, und einer sechsten Linie (30-1), wobei die sechste Linie durch den
anschließenden Endkontrollpunkt (20-2) des zugeordneten Kurvenabschnitts (26-2)
des justierten Zeichens (18) hindurchgeht und parallel zu einer Linie (34-1)
verläuft, die durch den mittleren Kontrollpunkt (14-3) des Zeichens und den
angrenzenden Endkontrollpunkt (14-2) des Zeichens definiert ist, und Bestimmen eines
zugeordneten, mittleren Kontrollpunkts (20-3, 20-4) für jeden mittleren
Kontrollpunkt (14-3, 14-4) des zugeordneten, justierten Zeichens (18), der der
Schnittpunkt zwischen der zugeordneten fünften (32-1, 32-2) und sechsten Linie (36-1,
36-2) ist.
2. Verfahren, wie durch Anspruch 1 beansprucht, dadurch gekennzeichnet, daß
jeder Kurvenabschnitt (12, 26) durch eine Bezier-Kurve beschrieben wird.
3. Verfahren, wie in Anspruch 1 beansprucht, dadurch gekennzeichnet, daß jeder
Kurvenabschnitt (12, 26) durch eine konische Kurve beschrieben wird.
4. Verfahren, wie in Anspruch 1 beansprucht, dadurch gekennzeichnet, daß jeder
Kurvenabschnitt (12, 26) durch eine quadratische B-Splinekurve beschrieben
wird, und das Verfahren den Schritt umfaßt, zuerst jede
Kurvenabschnittsbeschreibung von einer quadratischen B-Splinekurve in eine Bezier-Kurve
umzuwandeln.
5. Verfahren, wie in irgendeinem der Ansprüche 1 bis 41 beansprucht,
gekennzeichnet durch Justieren des justierten Zeichens (18), um das justierte Zeichen
(18) zu dem Zeichen (10) in bezug auf die Typengröße zu justieren.
6. Verfahren, wie in Anspruch 5 beansprucht, dadurch gekennzeichnet, daß der
Justierungsschritt in bezug auf die Typengröße das Verschieben der
Kontrollpunkte (20) des justierten Zeichens (18) umfaßt, um die Unterlänge des justierten
Zeichens (18) zu der Unterlänge des Zeichens (10) zu justieren, wobei dann das
justierte Zeichen (18) mit einem vorbestimmten Faktor skaliert wird.
7. Verfahren, wie in Anspruch 6 beansprucht, dadurch gekennzeichnet, daß der
Schritt zur Bestimmung des vorbestimmten Faktors umfaßt, den Faktor zu
berechnen, der benötigt wird, daß das in bezug auf die Unterlänge justierte Zeichen
gleich dem Zeichen in bezug auf die obere Länge wird.
8. Verfahren, wie in Anspruch 6 beansprucht, dadurch gekennzeichnet, daß der
Schritt zur Bestimmung des vorbestimmten Faktors umfaßt, den Faktor zu
berechnen, der benötigt wird, daß das in bezug auf die Unterlänge justierte Zeichen
gleich dem Zeichen in bezug auf die obere Länge für das Zeichen in dem
Zeichensatz wird, das die größte obere Länge aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/813,166 US5280576A (en) | 1991-12-24 | 1991-12-24 | Method of adjusting the weight of a character of an outline font |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69230783D1 DE69230783D1 (de) | 2000-04-20 |
DE69230783T2 true DE69230783T2 (de) | 2000-07-27 |
Family
ID=25211639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69230783T Expired - Fee Related DE69230783T2 (de) | 1991-12-24 | 1992-12-16 | Verfahren zur Justierung von Schriftzeichengewichtung von Konturzeichen |
Country Status (4)
Country | Link |
---|---|
US (1) | US5280576A (de) |
EP (1) | EP0549256B1 (de) |
JP (1) | JP3202377B2 (de) |
DE (1) | DE69230783T2 (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05232926A (ja) * | 1992-02-19 | 1993-09-10 | Brother Ind Ltd | 文字記号発生装置 |
US5627952A (en) * | 1992-04-29 | 1997-05-06 | Canon Kabushiki Kaisha | Information displaying system which displays combined video and graphics images |
DE4238547A1 (de) * | 1992-11-14 | 1994-05-19 | Philips Patentverwaltung | Verfahren und Schaltungsanordnung zum Darstellen von Zeichen mit Umrandung |
TW262547B (de) * | 1992-11-30 | 1995-11-11 | Canon Kk | |
EP0604685A1 (de) * | 1992-12-28 | 1994-07-06 | Océ-Nederland B.V. | Methode zur Modifizierung des Fettdruckens von Buchstaben |
US5796409A (en) * | 1993-04-06 | 1998-08-18 | Ecole Polytechnique Federale De Lausanne | Method for producing contrast-controlled grayscale characters |
US5959634A (en) * | 1993-12-09 | 1999-09-28 | Canon Kabushiki Kaisha | Character generating system employing thickening or narrowing of characters |
JP3394312B2 (ja) * | 1994-02-28 | 2003-04-07 | 富士通株式会社 | 作画装置 |
JP3483946B2 (ja) * | 1994-08-19 | 2004-01-06 | 三菱電機株式会社 | フォント処理装置及びフォント処理方法 |
JP3238580B2 (ja) * | 1994-09-14 | 2001-12-17 | シャープ株式会社 | 太め細め文字生成装置 |
US6366581B1 (en) * | 1997-04-02 | 2002-04-02 | Fujitsu Network Communications, Inc. | Method and apparatus for generating permanent virtual connections using graphical user interface |
DE19901934C2 (de) | 1999-01-19 | 2001-07-19 | Heidelberger Druckmasch Ag | Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind |
US7239318B2 (en) * | 2001-03-23 | 2007-07-03 | Rise Kabushikikaisha | Method and computer software program product for processing characters based on outline font |
US7187382B2 (en) * | 2004-01-26 | 2007-03-06 | Microsoft Corporation | Iteratively solving constraints in a font-hinting language |
US7256786B2 (en) * | 2004-05-28 | 2007-08-14 | Microsoft Corporation | Appropriately rendering a graphical object when a corresponding outline has exact or inexact control points |
US8253742B2 (en) | 2004-05-28 | 2012-08-28 | Microsoft Corporation | Rendering stroke pairs for graphical objects |
US8464170B2 (en) * | 2005-09-09 | 2013-06-11 | Microsoft Corporation | 2D editing metaphor for 3D graphics |
US8107729B2 (en) * | 2009-01-26 | 2012-01-31 | Mitsubishi Electric Research Laboratories, Inc. | Method for improving character outlines using multiple alignment zones |
US8648862B2 (en) | 2010-07-21 | 2014-02-11 | Esko Software Bvba | Method for automatically modifying a graphics feature to comply with a resolution limit |
AU2014277854A1 (en) | 2014-12-22 | 2016-07-07 | Canon Kabushiki Kaisha | Emboldening of outline fonts |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4620287A (en) * | 1983-01-20 | 1986-10-28 | Dicomed Corporation | Method and apparatus for representation of a curve of uniform width |
JP2790815B2 (ja) * | 1988-08-10 | 1998-08-27 | 株式会社リコー | 画像データ圧縮方法 |
AU629210B2 (en) * | 1988-10-26 | 1992-10-01 | Sun Microsystems, Inc. | Method and apparatus for minimizing the visual degradation of digital typefaces |
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 |
JPH0810467B2 (ja) * | 1990-06-14 | 1996-01-31 | ゼロックス コーポレイション | ストロークに相当する輪郭線を迅速に生成する曲線近似方法 |
-
1991
- 1991-12-24 US US07/813,166 patent/US5280576A/en not_active Expired - Fee Related
-
1992
- 1992-12-16 EP EP92311500A patent/EP0549256B1/de not_active Expired - Lifetime
- 1992-12-16 DE DE69230783T patent/DE69230783T2/de not_active Expired - Fee Related
- 1992-12-16 JP JP35501092A patent/JP3202377B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0549256A2 (de) | 1993-06-30 |
EP0549256A3 (en) | 1993-11-24 |
EP0549256B1 (de) | 2000-03-15 |
JPH05303374A (ja) | 1993-11-16 |
DE69230783D1 (de) | 2000-04-20 |
US5280576A (en) | 1994-01-18 |
JP3202377B2 (ja) | 2001-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69230783T2 (de) | Verfahren zur Justierung von Schriftzeichengewichtung von Konturzeichen | |
DE3587690T2 (de) | Verfahren um Schrifttypen mit Skalaänderungen herzustellen. | |
DE69221414T2 (de) | Intelligenter Schriftartdarstellungskoprozessor | |
DE69027134T2 (de) | Zeichenverarbeitungsgerät | |
DE69323983T2 (de) | Methode zur Modifizierung des Fettdruckes von Buchstaben | |
DE69736649T2 (de) | Schriftteilung für verschiedene Zeichengrössen | |
DE3806223C2 (de) | Verfahren zur Erzeugung von Zeichenmustern | |
DE3342947C2 (de) | System zur Verarbeitung eines grafischen Musters | |
DE60036894T2 (de) | Erzeugung einer Glyphe | |
DE69131901T2 (de) | Ein verfahren um dokumente zu formatieren mit flexibelen entwurfsmodellen die kontrollierte kalibrierung und schrifttypenauswahl ermöglichen | |
DE69629173T2 (de) | Automatisches Plazieren eines graphischen Musters | |
DE3686982T2 (de) | Testverarbeitungsrandausgleichsverfahren. | |
DE69022109T2 (de) | Darstellungsverfahren für Kanji-Zeichen. | |
DE69021668T2 (de) | Adressenwandlung zur erweiterten Punktauflösung. | |
DE3932024C2 (de) | Datenverarbeitungsanlage zur Umwandlung einer Gruppe von Umrißdaten | |
DE68903837T2 (de) | Verfahren zum vergroessern der daten eines bitrasters in einer horizontalen richtung. | |
DE69013378T2 (de) | Anordnung zur Umsetzung von Bildumrissdaten in Bildpunkte darstellende Punktdaten. | |
DE2254913A1 (de) | Verfahren zur erzeugung graphischer darstellungen aus parametrischen daten | |
DE1907966A1 (de) | Phototypsetzvorrichtung | |
EP0304509B1 (de) | Bildschirmgerät zur Textdarstellung | |
DE69020187T2 (de) | Anordnung zur Erzeugung von Matrix-Zeichenmustern. | |
DE3331041A1 (de) | Verfahren zur bildwiedergabe | |
DE69026599T2 (de) | Verfahren zum verdichten von charakterdaten und verfahren zur änderung der charakter | |
EP1340366B1 (de) | Verfahren zur halbtondarstellung eines bildes sowie bildverarbeitungseinrichtung und druckvorrichtung zum ausführen dieses verfahrens | |
DE3852135T2 (de) | Zeichengerät für partituren. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |