DE60031337T2 - Geräteabhängige Darstellung von Zeichen - Google Patents

Geräteabhängige Darstellung von Zeichen Download PDF

Info

Publication number
DE60031337T2
DE60031337T2 DE60031337T DE60031337T DE60031337T2 DE 60031337 T2 DE60031337 T2 DE 60031337T2 DE 60031337 T DE60031337 T DE 60031337T DE 60031337 T DE60031337 T DE 60031337T DE 60031337 T2 DE60031337 T2 DE 60031337T2
Authority
DE
Germany
Prior art keywords
grid
subpixel
character
stem
output device
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 - Lifetime
Application number
DE60031337T
Other languages
English (en)
Other versions
DE60031337D1 (de
Inventor
Terence S. San Jose Dowling
Jeremy A. San Jose Hall
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.)
Adobe Inc
Original Assignee
Adobe Systems 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
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE60031337D1 publication Critical patent/DE60031337D1/de
Application granted granted Critical
Publication of DE60031337T2 publication Critical patent/DE60031337T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/28Generation of individual character patterns for enhancement of character form, e.g. smoothing
    • 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/004Generic data transformation
    • G06K2215/0042Rasterisation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0457Improvement of perceived resolution by subpixel rendering

Description

  • Diese Erfindung betrifft allgemein Computersysteme, und genauer das Darstellen bzw. Rendern von Zeichen, die auf Computerausgabevorrichtungen anzuzeigen sind.
  • Hintergrund der Erfindung
  • Computersysteme beinhalten typischerweise eine gewisse Form einer visuellen Ausgabevorrichtung. Beispielsweise beinhaltet in 1 ein Computersystem 10 nach dem Stand der Technik einen Computer 12, eine Tastatur 14, eine Plattenspeichereinheit 16, eine Videoanzeige 18 und einen Drucker 20.
  • Der Computer 12 beinhaltet eine zentrale Datenverarbeitungsanlage (CPU) 22, einen Nur-Lese-Speicher (ROM) 24, einen Direktzugriffsspeicher (RAM) 26, und eine Eingabe/Ausgabe (I/O) 28. Die verschiedenen Komponenten 2228 des Computers 12 sind durch ein Bus- bzw. Hauptleitungssystem 30 gekoppelt. Wie von Fachleuten auf dem Gebiet erkannt bzw. geschätzt werden wird, ist die Darstellung des Computers 12 für die Zwecke dieser Diskussion sehr vereinfacht worden, aber beinhaltet die fundamentalen Komponenten eines Computers und ihre gegenseitigen Verbindungen bzw. Zusammenschaltungen.
  • Vorrichtungen, wie beispielsweise Tastatur 14, Plattenspeicher 16, Videoanzeige 18 und Drucker 20 werden häufig als "periphere" Vorrichtungen erwähnt. Wenn sie an den Computer 12 gekoppelt sind, werden sie Teil des Computersystems 10. Einige periphere Vorrichtungen dienen primär zum Eingeben von Information an den Computer 12, andere periphere Vorrichtungen bzw. Peripheriegeräte werden verwendet, um Information vom Computer 12 auszugeben, und einige Computerperipheriegeräte werden sowohl zum Eingeben als auch Ausgeben von Information verwendet.
  • Die Videoanzeige 18 und der Drucker 20 sind übliche Ausgabevorrichtungen für den Computer 12. Derartige Ausgabevorrichtungen bilden typischerweise temporäre bzw. vorübergehende oder permanente Bilder aus, um Information an einen Benutzer eines Computersystems 10 zu übertragen bzw. zu senden. Beispielsweise beinhaltet die Videoanzeige 18 einen Schirm, der Zeichen bzw. Buchstaben, Graphiken und andere Typen von Bildern anzeigen kann.
  • Eine Anzahl von Problemen entsteht, wenn Zeichen auf einer Computerausgabevorrichtung angezeigt werden. Der Ausdruck "Zeichen", wie er hierin verwendet wird, ist nicht auf alphanumerische Zeichen beschränkt, sondern beinhaltet jede Form von Zeichen, Zahl, Symbol oder einer anderen codierten Vorrichtung, die auf einer Computerausgabevorrichtung dargestellt oder angezeigt werden kann. Einige Probleme betreffen die Auflösung der Ausgabevorrichtung, und andere Probleme betreffen die menschliche visuelle Wahrnehmung. "Auflösung", wie sie hierin verwendet wird, bezieht sich auf die Größe von individuellen bzw. einzelnen Pixeln bzw. Bildpunkten einer Computerausgabevorrichtung, und das Beabstanden zwischen den Pixeln bzw. Bildpunkten der Ausgabevorrichtung.
  • Die Probleme, die einem Abbilden von Zeichen innewohnen, neigen dazu, für kleine Zeichen ausgeprägter zu sein als für größere Zeichen. Dies deshalb, weil kleine Zeichen aus weniger Bildpunkten bestehen, und deshalb ist sogar eine Verzerrung von einigen Bildpunkten in den kleineren Zeichen leicht erkennbar. Einige der Verzerrungen, die auftreten können, insbesondere in diesen kleineren Zeichen, sind: unausgeglichene "Grundstrich"-Breiten, dünne Merkmaltrennung, ein Über/Unter-Füllen, und ein ungenaues Gewichten. Einer der am meisten wahrnehmbaren dieser Mängel sind unausgeglichene Grundstrichbreiten, wo vertikale und horizontale Striche von Zeichen von variierender Breite aufgrund des Zeichen darstellenden Prozesses sein können. Ein anderer sehr wahrnehmbarer Mangel ist der Effekt einer ungenauen Gewichtung von kleinen Zeichen aufgrund eines Quantisierungseffekts. Ein Zufügen eines Bildpunkts (das "Quantum") zu einem Zeichengrundstrich, der nur einige Bildpunkte breit ist, kann das "Gewicht" verzerren, das dem Zeichen gegeben ist, beispielsweise kann es erscheinen "fett" zu sein, selbst wenn es ein Normalgewichts-Zeichen bzw. Zeichen mit normaler Gewichtung ist.
  • In 2A ist ein Problem im Stand der Technik von unausgeglichenen Grundstrichbreiten illustriert. In diesem Fall ist ein Kleinbuchstabe "m" über ein Hochauflösungsgitter 32 überlagert, sowohl in einer Umriß-Form 34 als auch einer "Bitmap"-Form 36 gezeigt. "Bitmap" bezieht sich auf eine Eins-zu-Eins-Abbildung zwischen Daten, die in dem Speicher des Computers 12 gespeichert sind und einem Bild des Zeichens, das anzuzeigen ist, d.h. jeder Bildpunkt der Ausgabevorrichtung entspricht einem Bit an Information, die in dem Computer gespeichert ist. Der Umriß 34 wird typischerweise durch ein analysiertes Font- bzw. Schrifttypenprogramm bereitgestellt, wie beispielsweise im Adobe Type I Format, Version 1.1 beschrieben, das von Adobe Systems, Inc. von San Jose, Kalifornien, verfügbar ist, häufig erwähnt als das "schwarze Buch" bzw. "Black Book" aufgrund der Farbe seines Einbands. Der Zeichenumriß 34 wird umgewandelt oder "dargestellt" bzw. "gerendert" in die Bitmap 36 durch ein darstellendes Programm oder einem "Renderer", der von einer Vielfalt von Quellen, einschließlich Adobe Systems, Inc. verfügbar ist.
  • In 2A beinhaltet der Buchstabe "m" eine gewisse Verwindung bzw. Verzerrung, die der Umwandlung von Fontumriß 34 zur Form der Bitmap 36 zuzuschreiben ist. Insbesondere sind die drei vertikalen Beine bzw. Schenkel oder "Grundstriche" des Buchstabens "m" von verschiedenen Breiten. Wie erwähnt, ist der linke Grundstrich 38a zwei Pixel breit, der mittlere Stem bzw. Grundstrich 38b ist ein Pixel breit, und der rechte Grundstrich 38c ist zwei Pixel breit.
  • Während Zeichen häufig auf einem Hochauflösungsgitter dargestellt bzw. wiedergegeben werden, wie dies in 2A illustriert ist, müssen sie in eine Darstellung bzw. Repräsentation eines "groben Gitters" umgewandelt werden, bevor sie an der Ausgabevorrichtung angezeigt werden können. Die Auflösung des groben Gitters entspricht der Auflösung der Ausgabevorrichtung.
  • In 2B erlaubt die Umwandlung bzw. Konversion von einem Hochauflösungsgitter zu einem groben Gitter dem Renderer bzw. der Wiedergabevorrichtung, die Grundstriche erneut auszugleichen. Genauer verwendet das System "Hinweise", die durch das analysierte bzw. geparste Font- bzw. Schriftgattungsprogramm bereitgestellt werden, um die Grundstriche der Zeichen zu dehnen bzw. zu strecken und dann an dem groben Gitter auszurichten. Wie erwähnt bzw. festgehalten, sind in 2B die Stems bzw. Grundstriche 40a, 40b und 40c alle von der gleichen Breite und deshalb kann das Problem der unausgeglichenen Grundstriche für Schwarz-und-Weiß-Typen von Ausgabevorrichtungen gelöst werden.
  • Während der Stand der Technik das Problem von unausgeglichenen Grundstrichbreiten für Schwarz-Weiß-Ausgabevorrichtungen gelöst hat, ist das Problem für Grauskalen- und Farbausgabevorrichtungen erneut aufgetaucht. Einige Ausgabevorrichtungen verwenden eine Technik, die als "Anti-Aliasing" bekannt ist, um die Illusion von glatteren Kurven und weniger gezackten diagonalen Linien zur Verfügung zu stellen. Dies wird durch ein Variieren von Grauskala- oder Farbwerten des groben Gitters erreicht. Jedoch kann diese Manipulation erneut das Problem von unausgeglichenen Grundstrichbreiten auf anti-aliasierte Zeichen einführen.
  • In 2C ist bzw. wird der Kleinbuchstabe "m" gegen ein grobes Gitter 42 und ein entsprechendes Hochauflösungsgitter 44 gezeigt. Das Hochauflösungsgitter 44 ist nur in einer der Zellen des groben Gitters 42 gezeigt, um die Zeichnungen nicht undeutlich zu machen, obwohl erkannt werden wird, daß das Hochauflösungsgitter 44 mit allen Zellen des groben Gitters 42 assoziiert bzw. verbunden ist. Das grobe Gitter und das Hochauflösungsgitter stehen wie folgt in Beziehung. Wenn die Ausgabevorrichtung 2n + 1 Grauskalenwerte aufweist, wird jede "Zelle" 46 des groben Gitters 42 2n Pixel 48 aufweisen. Um ein konkreteres Beispiel bereitzustellen, wenn 17 Grauskalenwerte von reinem Weiß bis reinem Schwarz bereitgestellt werden, dann sind 24 oder 16 Pixel bzw. Bildpunkte des Hochauflösungsgitters in jeder Zelle des groben Gitters 42. Dies bedeutet, daß die Auflösung des Hochauflösungsgitters 44 das Vierfache der Auflösung des groben Gitters 42 ist. Wie vorher, wird der Fontumriß 50 für den Buchstaben "m" erhalten, und eine Bit karte 52 wird bei der Auflösung des Hochauflösungsgitters vom Fontumriß 50 durch den Renderer entwickelt.
  • In 2D wurde die Bitkarte bzw. Bitmap 52 in eine Grauskalen-"Pixelkarte" umgewandelt, welche an die Ausgabevorrichtung gesandt werden kann. Die Umwandlung bzw. Konversion wird üblicherweise in einer direkten Art erreicht. Die Anzahl von Pixeln bzw. Bildpunkten für eine bestimmte Zelle wurde gezählt und diese Anzahl wird in das Grauskalenniveau für diese Zelle eingetragen bzw. kartiert. Deshalb werden Zellen, die mehr Pixel aufweisen, einem dünkleren Grauskalenwert entsprechen als Zellen, die weniger Pixel aufweisen. Diese Technik, die als ein "Anti-Aliasing" erwähnt wird, glättet das Aussehen von Kurven sehr bzw. stark und verringert die Gezahntheit von diagonalen Linien, wie dies den Fachleuten auf dem Gebiet gut bekannt ist.
  • Wie hierin verwendet, ist eine "Pixelkarte" sehr ähnlich einer "Bitmap" mit der Ausnahme, daß mehrere Werte in dem Speicher des Computersystems 12 gespeichert sind, welche jedem Pixel der Ausgabevorrichtung entsprechen. Beispielsweise können für jedes Pixel auf einem Grauskalen- oder Farbvideomonitor mehrere Subpixel definiert werden, wobei jedes einen numerischen Wert beinhaltet, der am Computer gespeichert ist.
  • Jedoch ist, wie in 2D zu sehen, das Problem des nicht ausgeglichenen Grundstrichs als ein Ergebnis der Anwendung des "Anti-Aliasing"-Prozesses erneut aufgetreten. Genauer scheint ein Grundstrich 54a, zwei Pixel breit zu sein, während Grundstriche 54b und 54c erscheinen, über eine Pixelbreite zu sein. Wiederum ist dieses Grundstrich-Unausge glichenheitsphänomen ziemlich augenscheinlich in kleinen Zeichen und verringert die Qualität des ausgegeben Bilds.
  • Während sich diese Diskussion auf vertikale Stämme bzw. Stems bzw. Grundstriche konzentriert hat, ist dieses Problem gleichermaßen bei horizontalen Grundstrichen augenscheinlich. Beispielsweise ist auch, während das Beispiel des klein geschriebenen "m" gegeben wurde, dieses Problem eines Nicht-Ausgleichens des Grundstrichs auch an Buchstaben, wie beispielsweise einem Großbuchstaben "E" augenscheinlich bzw. ersichtlich. Außerdem können sowohl vertikale als auch horizontale "Grundstriche" oder Segmente in einem einzigen Buchstaben, wie beispielsweise dem Buchstaben "o" gefunden werden, welcher zwei vertikale Seitensegmente oder Grundstriche und zwei horizontale oberste und Bodensegmente oder Grundstriche aufweist.
  • Ein beträchtlicher Versuch wurde durch Ausgabevorrichtungshersteller unternommen, um das Bild zu steigern, das an die Ausgabevorrichtung als eine Bitmap oder Pixelmap bereitgestellt wird. Beispielsweise stehen bestimmte Drucker von Hewlett-Packard Company eine "Bildsteigerung" zur Verfügung, welche versucht, "gezahnte" diagonale Linien zu glätten und Kurven zu glätten. Während sie im allgemeinen nützlich sind, sind solche Bildsteigerungsmechanismen nach einem Darstellen bzw. Rendern nicht ganz erfolgreich, weil die Information, die verwendet wurde, um die Bitmaps oder die Pixelmaps (beispielsweise den Fontumriß) zu schaffen bzw. zu erzeugen, nicht für die Ausgabevorrichtung verfügbar ist, nachdem der Darstellungs- bzw. Renderprozeß angewandt worden ist. Deshalb kann die Bildsteigerung nach einer Darstellung nicht Probleme, wie beispielsweise unausgeglichene Grundstrichbreiten, etc. korrigieren.
  • Eine andere Technik zum Steigern des Bilds, das an die Ausgabevorrichtung bereitgestellt wird, beinhaltet ein Ausrichten von Grundstrichen an Pixelgrenzen und wird in der gemeinsam anhängigen US Patentanmeldung Serien Nummer 08/547,562, eingereicht am 23. Oktober 1995 mit dem Titel "Method and Apparatus for Rendering Characters", ("Verfahren und Vorrichtung zum Darstellen von Zeichen"), an Terence Dowling, übertragen auf Adobe Systems, Inc. von San Jose, Kalifornien beschrieben, deren Inhalt ausdrücklich hierin durch Bezugnahme aufgenommen ist. Diese Technik leidet nicht an den Beschränkungen, die durch Post-Render-Lösungen bzw. Lösungen nach einer Darstellung geschaffen werden. Jedoch war die in der Dowling Anmeldung beschriebene Technik insofern beschränkt, daß die Grundstrichausrichtung auf ein einziges Vorrichtungsgitter und deshalb auf Vorrichtungsgittergrenzen (Pixelgrenzen) fixiert war, die darin definiert sind.
  • Bestimmte Ausgabevorrichtungen, wie beispielsweise LCDs, unterstützen ein Subpixel-Adressieren. Subpixel, wie hierin verwendet, beziehen sich auf eine Pixelkomponente, die unabhängig in der Ausgabevorrichtung adressierbar ist. Beispielsweise beinhaltet in einer herkömmlichen RGB-Farbausgabe-LCD-Vorrichtung ein einzelnes Pixel drei Komponenten, oder Subpixel, eine rote Komponente, eine grüne Komponente und eine blaue Komponente. Jedes der drei Subpixel ist für jedes Pixel unabhängig adressierbar, d.h., jede einzelne Komponente kann einen Wertesatz aufweisen, dessen Kombination die Farbe erzeugt, die durch den Benutzer für eine bestimmte Pixelstelle wahrgenommen wird. In einer herkömmlichen bzw. konventionellen RGB-LCD-Ausgabevorrichtung beinhalten die Subpixel eine Geometrie, die Subpixel-Geo metrie, die eine physikalische Anordnung der Subpixel an der Ausgabevorrichtung definiert. In einer herkömmlichen RGB-LCD-Ausgabevorrichtung ist jedes Subpixel in der Form eines Farbstrichs bzw. -balkens, und die Striche bzw. Balken sind als eine horizontale Reihe angeordnet. Abhängig vom Hersteller der Ausgabevorrichtung kann das Anordnen der Farbstriche von Vorrichtung zu Vorrichtung variieren. Beispielsweise in einer Colorbook-Vorrichtung, die durch Gateway Computers erzeugt wird, oder einer Inspiron 7000 Vorrichtung, die durch Dell Computer erzeugt wird, beinhaltet die Subpixel-Geometrie eine Anordnung von Farbstrichen in einer horizontalen Reihe. Andere Geometrien sind möglich, enthaltend eine eng bzw. dicht eingepackte hexagonale Anordnung.
  • EP 0 772 144 A2 offenbart ein Verfahren zum Erzeugen von anti-aliasierten Zeichen auf einer Computerausgabevorrichtung, beinhaltend die Schritte eines Erzeugens bzw. Generierens eines Aufrufs von einem Clientprozeß für ein Zeichen, das darzustellen bzw. zu rendern ist, eines Darstellens des Zeichens bei hoher Auflösung und eines Ausrichtens der Grundstriche der Zeichen mit einem groben Gitter, das der Auflösung der Ausgabevorrichtung entspricht.
  • US 5 910 805 offenbart ein Verfahren zum Anzeigen eines von einer Bitmap abgeleiteten Textes an einer Anzeige, die eine beschränkte Beabstandungsauflösung von Pixel zu Pixel aufweist, wobei ein Bildfontfile erzeugt wird, das die komprimierte Bitmapdarstellung der Zeichen von einem oder mehreren Font(s) bzw. einer oder mehreren Schriftgattung(en) enthält, das bzw. die in einem gegebenen Text verwendet wird bzw. werden. Die komprimierten Bitmap-Darstel lungen sind als Zeichenbildschablonen bzw. -vorlagen abgeleitet, die einem Font mit vergrößerter Größe entsprechen. Die einzelnen Zeichen des Bildfontfiles werden, während sie in einer komprimierten Form verbleiben, selektiv in Übereinstimmung mit Schriftsetzungsspezifikations-Fehlerwerten verschoben, dann skaliert bzw. im Maßstab geändert und gefiltert, um ein Anzeigezeichen in einem anti-alisierten Subpixel-Format zu erzeugen.
  • EP 0 435 391 A2 offenbarte einen Farbanzeigeapparat, wobei durch ein Speichern der Farbinformation von Zeichen, die in drei Ebenen in einem Zeichengenerator anzuzeigen sind, diese Information in einer Anzeige-Regel- bzw. -Steuereinrichtung auf eine derartige Weise verwendet werden kann, daß Zeichen einer hohen Qualität angezeigt werden.
  • Ein Ziel bzw. Gegenstand der vorliegenden Erfindung ist es, ein Verfahren zum präzisen Anordnen von Grundstrichen bzw. Stems eines Zeichens und Erhöhen der effektiven horizontalen Auflösung einer Ausgabevorrichtung um einen Faktor in wenigstens einer Dimension zur Verfügung zu stellen. Dieses Ziel wird durch ein computer-implementiertes Verfahren zum Bearbeiten bzw. Verarbeiten eines Zeichens erfüllt, das die in Anspruch 1 geoffenbarten Merkmale aufweist. Bevorzugte Ausführungsformen sind in den abhängigen Unteransprüchen definiert.
  • Gemäß der Erfindung wird ein computer-implementiertes Verfahren zum Bearbeiten bzw. Verarbeiten eines Zeichens zur Anzeige auf einer Rasterausgabevorrichtung zur Verfügung gestellt, wobei die Ausgabevorrichtung eine Auflösung und einen Satz von Bildpunkten bzw. Pixeln aufweist, die ein Vorrichtungsgitter definieren, wobei das Verfahren umfaßt:
    Darstellen bzw. Rendern des Zeichens bei einer Auflösung höher als die Auflösung der Ausgabevorrichtung, enthaltend ein Ausrichten eines Grundstrichs bzw. Stems des Zeichens; und Herunter- bzw. Downsampeln des dargestellten Zeichens auf die Auflösung der Ausgabevorrichtung,
    wobei das Verfahren auch die Schritte umfaßt eines Bereitstellens einer Mehrzahl von Ausrichtgittern, wobei jedes Ausrichtgitter ähnlich zu dem Vorrichtungsgitter ist, jedoch um einen Abstand gleich einer Abmessung bzw. Dimension eines Subpixels bzw. Unterbildpunkts verschoben ist, eines Evaluierens der Mehrzahl von Ausrichtgittern und eines Auswählens eines besten Ausrichtgitters für den Grundstrich des Zeichens; und daß der Grundstrich des Zeichens unter Verwendung des gewählten Ausrichtgitters an eine Unterbildpunktgrenze ausgerichtet wird.
  • In einer herkömmlichen RGB-LCD-Vorrichtung kann die wirksame bzw. effektive Auflösung um eine Größenordnung von drei erhöht werden, ohne die Kosten/Komplexität der Ausgabevorrichtung zu erhöhen.
  • In einem Aspekt stellt die Erfindung ein computerimplementiertes Verfahren zum Bearbeiten bzw. Verarbeiten eines Zeichens für eine Anzeige auf einer Rasterausgabevorrichtung bereit, wo die Ausgabevorrichtung eine Auflösung und einen Satz von Bildpunkten bzw. Pixeln aufweist, die ein Vorrichtungsgitter definieren. Das Verfahren beinhaltet ein Evaluieren einer Mehrzahl von Ausrichtgittern und ein Auswählen eines besten Ausrichtgitters für einen Grundstrich des Zeichens, wo die Mehrzahl von Ausrichtgittern aus einem Satz von Gittern ist bzw. besteht. Jedes Ausrichtgitter in dem Satz ist ähnlich zu dem Vorrichtungsgitter, jedoch um einen Abstand gleich einer Abmessung bzw. Dimension eines Subpixels bzw. Unterbildpunkts verschoben. Der Prozeß beinhaltet ein Rendern bzw. Darstellen des Zeichens bei einer höheren Auflösung als die Auflösung der Ausgabevorrichtung, enthaltend ein Ausrichten des Grundstrichs unter Verwendung des gewählten Ausrichtgitters an eine Unterbildpunktgrenze und ein Herunter- bzw. Downsampeln des dargestellten Zeichens auf die Auflösung der Ausgabevorrichtung.
  • Aspekte der Erfindung können eines oder mehrere der folgenden Merkmale umfassen. Das Zeichen wird bei einer Typengröße durch eine Schriftgattung bzw. einen Font erzeugt, die Fontmetriken aufweist, enthaltend Hinweisinformation, die ein Zentrum eines Grundstrichs definiert. Der Schritt eines Evaluierens beinhaltet ein Verschieben des Grundstrichs auf jedes Ausrichtgitter und ein Bestimmen eines Ausrichtgitters, welches am besten das Zentrum des Grundstrichs mit einer Unterbildpunktgrenze ausrichtet. Das Verfahren kann weiterhin ein Empfangen von Unterbildpunkt-Geometrieinformation für die Ausgabevorrichtung beinhalten, die eine Geometrie der adressierbaren Sub- bzw. Unterbildpunkte für jeden Bildpunkt der Ausgabevorrichtung definiert. Der Schritt eines Ausrichtens des Grundstrichs kann ein Verwenden der Subbildpunkt-Geometrieinformation beinhalten, um zu bestimmen, welche Subbildpunkte von welchen Bildpunkten zu beleuchten sind, wenn der Grundstrich nicht mit einer Bildpunktgrenze ausgerichtet ist. Der Strich eines Downsampelns kann ein Empfangen von vorrichtungsspezifischen Daten beinhalten, die spezifisch für die Ausgabevorrichtung abgeleitet sind bzw. werden, wo die vorrichtungsspezifischen Daten eine Mehrzahl von Funktionen beinhalten, eine für jede Farbebene, die durch die Ausgabevorrichtung verwendet wird. Das Verfahren kann ein Bestimmen einer Intensität für jeden Unterbildpunkt eines Bildpunkts in dem gewählten Ausrichtgitter unter Verwendung der vorrichtungsspezifischen Daten beinhalten, um Intensitätsdaten spezifisch für die Ausgabevorrichtung abzuleiten. Die Subpixel- bzw. Unterbildpunkt-Abmessung kann eine Unterbildpunkt-Breite, -Höhe oder -Höhe- und -Breite sein.
  • Aspekte der Erfindung können einen oder mehrere der folgenden Vorteile enthalten. Ein Vorteil der vorliegenden Erfindung besteht darin, daß die Technik verwendet werden kann, um Kurven zu glätten und zackige diagonale Linien zu verhindern, ohne gewisse Verwindungen bzw. Verzerrungen in das Bild des Zeichens einzubringen, das angezeigt wird, während eine bis zu dreifache Zunahme in der Auflösung in einer Dimension bzw. Abmessung für eine RGB Ausgabevorrichtung bereitgestellt wird. Die Erfindung erfüllt diese Aufgabe, indem die Hochauflösungs-Bitmap des Zeichens an eine Unterbildpunktgrenze eines Ausrichtgitters ausgerichtet wird und dann das Ausrichtgitter auf das grobe Gitter während des Render- bzw. Darstellungsprozesses kartiert bzw. abgebildet wird.
  • Diese und andere Vorteile der vorliegenden Erfindung werden beim Lesen der folgenden detaillierten Beschreibungen und beim Studieren der verschiedenen Figuren der Zeichnungen ersichtlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines typischen Computersystems gemäß dem Stand der Technik, welches auch ein geeigneter Host für das Verfahren und die Vorrichtung der vorliegenden Erfindung ist;
  • 2A ist eine Ansicht einer Hochauflösungs-Bitmap gemäß dem Stand der Technik für den Buchstaben "m";
  • 2B ist eine Ansicht einer Bitmap des Standes der Technik des Buchstabens "m", der mit einem groben Gitter derartig gestreckt und ausgerichtet worden ist, daß, wenn er an einer Schwarz-Weiß-Ausgabevorrichtung angezeigt wird, aussehen wird, ausgeglichene Grundstrichbreiten aufzuweisen;
  • 2C illustriert den Buchstaben "m", der in einer Hochauflösungs-Bitmap dargestellt bzw. gerendert ist;
  • 2D illustriert die unausgeglichenen Grundstrichbreiten, die beim Bereitstellen einer anti-aliasierten Version der Bitkarte bzw. Bitmap von 2C resultieren;
  • 3A ist ein Flußdiagramm eines Verfahrens zum Erzeugen von anti-aliasierten Zeichen mit ausgeglichenen Grundstrichbreiten in Übereinstimmung mit der vorliegenden Erfindung;
  • 3B zeigt die Beziehung zwischen einem Vorrichtungsgitter und Ausrichtgittern;
  • 4 ist eine Illustration bzw. Darstellung des Schritts "EMPFANGEN EINES AUFRUFS VOM CLIENT" von 3A;
  • 5 ist ein Flußdiagramm des Schritts "AUSRICHTEN VON GRUNDSTRICHEN" von 3A;
  • 6 illustriert die Schritte "RUNDEN GRUNDSTRICHBREITE AN GROBES GITTER" und "ZENTRIEREN DES GRUNDSTRICHS AN GROBES GITTER" von 5;
  • 7 illustriert die Schritte "RUNDEN GRUNDSTRICHBREITE AN HOCHAUFLÖSUNGSGITTER" und "AUSRICHTEN LINKS/BODEN UND OBERSEITE/RECHTS AN AUSRICHTGITTER" von 5;
  • 8A, 8B, 8C und 8D werden verwendet, um ein erstes Beispiel des Verfahrens der vorliegenden Erfindung zu illustrieren.
  • Detaillierte Beschreibung
  • Die vorliegende Erfindung beinhaltet vorzugsweise Prozesse bzw. Verfahren, die auf einem Computersystem, wie beispielsweise dem in 1 illustrierten Computersystem 10 ausgeführt werden ("laufen"). Jedoch können, wie dies durch Fachleute auf dem Gebiet wohl erkannt werden wird, die hierin beschriebenen Prozesse und Vorrichtungen auch durch Hardware- oder Firmware-Äquivalente implementiert werden. Beispielsweise sind viele fontdarstellende und andere Anzeigeprozesse in anwendungsspezifischen integrierten Schaltungen (ASICs) eingebettet, wie dies Fachleuten auf dem Gebiet gut bekannt ist.
  • 1 und 2A2D wurden in bezug auf den Stand der Technik diskutiert. In 3A beginnt ein Prozeß 300 in Übereinstimmung mit der vorliegenden Erfindung für ein vorrichtungsabhängiges Darstellen bzw. Rendern, um Anti-Alias-Zeichen auf einer Computerausgabevorrichtung zu erzeugen, bei 302 und in einem Schritt 304 durch ein Empfangen einer vorrichtungsspezifischen Information für die Computerausgabevorrichtung. Die vorrichtungsspezifische Information kann Geometriedaten und Farbdaten beinhalten.
  • Die Geometriedaten können eine Unterbildpunktordnung und physikalische Geometrieinformation beinhalten. Die physikalische Geometrie definiert die Anordnung von Sub- bzw. Unterbildpunkten für die Computerausgabevorrichtung, beispielsweise eine horizontale Reihe von Unterbildpunkten. Die Unterbildpunktordnung definiert die Anordnung der speziellen Unterbildpunkte in der physikalischen Geometrie, beispielsweise einen roten Unterbildpunkt, nächst einem grünen Unterbildpunkt, nächst einem blauen Unterbildpunkt für jeden Bildpunkt in einer RGB Ausgabevorrichtung. Andere Ausgabekonfigurationen sind möglich, enthaltend GBR, GRB, BRG, BGR und RBG Konfigurationen. Die physikalische Geometrie für eine Ausgabevorrichtung kann eine Reihe von Farbstrichen in einer Dimension sein, beispielsweise eine horizontale Reihe von Farbstrichen bzw. -balken. Andere Anordnungen beinhalten eine eng bzw. dicht gepackte Anordnung. Methoden bzw. Verfahren zum Bestimmen der Geometriedaten sind im größeren Detail in der gleichzeitig anhängigen Patentanmeldung mit dem Titel "Device Specific Color Intensity Settings and Subpixel Geometry" ("Vorrichtungsspezifische Farbintensitätseinstellungen und Subpixel-Geometrie"), an Terence Dowling et. al., übertragen an Adobe Systems Corporation in San Jose, Kalifornien, beschrieben, eingereicht am 19. August 1999, deren Inhalt ausdrücklich hierin durch Bezugnahme aufgenommen ist.
  • Die Farbdaten können von der Form von vorrichtungsspezifischen Intensitätsdaten für die Computerausgabevorrichtung sein. Die vorrichtungsspezifischen Intensitätsdaten können von der Form einer mathematischen Funktion sein, die ein Kartieren bzw. Mapping von idealisierten Intensitätswerten für einen Bildpunkt auf vorrichtungsspezifische Intensitätswerte definiert. Das Mapping wird beim Downsampelprozeß für ein Bestimmen der Intensitätseinstellung für einen Bildpunkt im Vorrichtungsraum basierend auf der Anzahl von Bildpunkten in der Hochauflösungs-Bitmap verwendet, die auf "ein" geschaltet werden, wenn das Zeichen dargestellt wird. Der Render- bzw. Darstellungsprozeß wird in größerem Detail unten beschrieben. Methoden zum Bestimmen der Farbdaten werden in größerem Detail in der gleichzeitig anhängigen Patentanmeldung mit dem Titel "Device Specific Color Intensity Settings and Subpixel Geometry" beschrieben.
  • Ein Aufruf wird von einem Client mit einem Zeichenzeiger, Größe, Anzahl von Grauskalen und Verfahrensweise (306) empfangen. Wie hierin verwendet, ist ein "Client" ein Anwendungsprogramm, ein Hilfsprogramm oder ein anderer Prozeß, das bzw. der eine Hochauflösungs-Bitmap anfordert, die weiterhin an einer Ausgabevorrichtung be- bzw. verarbeitet und angezeigt werden kann. Beispielsweise kann ein Client ein Textverarbeitungsprogramm sein. Alternativ kann der Client Teil eines größeren "Renderers" sein.
  • Hinweisdaten werden für das Zeichen evaluiert und ein Zentrum für jeden Grundstrich wird angeordnet (308). Ein Hinweisen wird beim Darstellen des Zeichens verwendet, um Zeichenverdrehungen bzw. -verwindungen zu vermeiden. Ein Hinweisen wird detaillierter unten im Darstellungsschritt diskutiert.
  • Für jeden Grundstrich bzw. Stem wird das Zentrum des Grundstrichs auf jedes einer Serie bzw. Reihe von Ausrichtgittern (310) verschoben. Das "Vorrichtungsgitter", wie hierin verwendet, ist ein Gitter von Bildpunkt- bzw. Pixelstellen, das auf den Ausgabevorrichtungsraum kartiert bzw. abbildet und wird häufig als das grobe bzw. Weggitter bezeichnet. Das "feine Gitter", wie hierin verwendet, ist ein Gitter von Proben, das eine Auflösung aufweist, die höher ist als jene des Vorrichtungsgitters. Assoziiert bzw. verbunden mit jedem feinen Gitter ist eine Serie von Ausrichtgittern. Die Ausrichtgitter sind von der gleichen Auflösung wie das feine Gitter, weisen jedoch Pixelgrenzen auf, die um eine Unterbildpunktposition verschoben worden sind. Nach der Auswahl eines geeigneten bzw. entsprechenden Ausrichtgitters wird das Zeichen anfänglich zu der Auflösung des feinen Gitters gerendert, wie dies unten im größeren Detail beschrieben ist.
  • Bezugnehmend auf 3B ist eine Serie von Ausrichtgittern und ein Vorrichtungsgitter gezeigt. Ein Ausrichtgitter 380 beinhaltet eine Mehrzahl von Zellen 382, die eine Mehrzahl von Pixeln bzw. Bildpunkten 384 beinhalten. Jede Zelle 382 bildet direkt auf einen einzigen Bildpunkt im Vorrichtungsgitter 392 ab. Jeder Vorrichtungsbildpunkt 393 im Vorrichtungsgitter 392 ist bzw. wird durch eine Serie von Unterbildpunkten 394 definiert, die in einer Geometrie angeordnet sind. Ein Ausrichtgitter 386 beinhaltet eine Mehrzahl von Zellen 387, die eine Mehrzahl von Pixeln 388 beinhalten. Jede Zelle in einem Ausrichtgitter 386 bildet auf einen einzigen zusammengesetzten bzw. "Verbundbildpunkt" ab, der im Vorrichtungsgitter 392 angeordnet ist. Ein "Verbundbildpunkt", wie hierin verwendet, bezieht sich auf eine Serie von benachbarten Unterbildpunkten, die in einer aggregierten Form einen Bildpunkt ausbilden, die jedoch noch nicht zusammengruppiert sind, um einen Vorrichtungsbildpunkt im Vorrichtungsgitter 392 auszubilden. Beispielsweise bilden Unterbildpunkte 394-2, 394-3 und 394-4, die zu Vorrichtungsbildpunkten 393-1, 393-1 bzw. 393-2 gehören, einen Verbundbildpunkt 395 aus.
  • Das Kartieren bzw. Abbilden bzw. Mappen des Ausrichtgitters 386 auf das Vorrichtungsgitter 392 ist ähnlich dem Abbilden des Ausrichtgitters 380 auf das Vorrichtungsgitter 392, aber um einen Unterbildpunkt verschoben. Ähnlich beinhaltet das Ausrichtgitter 389 Zellen 390, die eine Mehrzahl von Bildpunkten 391 beinhalten. Jede Zelle im Ausrichtgitter 389 bildet auf einen einzigen "Verbundbildpunkt" 395 ab, der im Vorrichtungsgitter 392 angeordnet ist.
  • Wiederum auf 3A bezugnehmend, wird eine ideale Stelle für das Zentrum jedes Grundstrichs für jedes Ausrichtgitter (312) berechnet. Die idealen Lage- bzw. Standortdaten werden verglichen und ein bestes Ausrichtgitter wird ausgewählt (314). Spezifischer wird ein Ausrichtgitter aus dem Satz von Ausrichtgittern basierend auf der Lage des Zentrums des Grundstrichs zu einer Unterbildpunktgrenze des Vorrichtungsgitters ausgewählt (welches einer Bildpunktgrenze eines der Ausrichtgitter entspricht). Das ausgewählte Ausrichtgitter ist das Gitter, das eine Bildpunktgrenze aufweist, die der idealen Stelle des Zentrums des Grundstrichs am nächsten ist.
  • In einer Implementierung wird das beste Ausrichtgitter wie folgt ausgewählt. Jeder normale Grundstrichhinweis definiert zwei Ränder bzw. Kanten im Zeichenraum-Koordinatensystem. Das Zentrum des Hinweises (ein Wert auf halbem Weg zwischen den zwei Rändern) wird verwendet, um eine Position für eine Ausrichtung zu bestimmen. Die Grundstrichbreite (Abstand zwischen Rändern) wird mit einer oder mehreren Standardbreite(n) verglichen (spezifiziert durch das Fontprogramm wie StdVW, StdHW, StemSnapH, StemSnapV). Wenn der Wert nahe genug dem Standard ist, wird die Standardbreite verwendet, andernfalls wird die Grundstrichbreite verwendet. Die erhaltene Breite wird in Vorrichtungsbildpunkte unter Verwendung der bereitgestellten Koordinatentransformation umgewandelt und das Ergebnis wird auf die nächste ganze Zahl gerundet, die die Vorrichtungsgittergröße repräsentiert. Dies wird ein Ergebnis von 0, 1, 2, 3, ... Vorrichtungsbildpunkten ergeben. Wenn die Zahl null oder ungerade ist, dann ist die bevorzugte Ausrichtung ein Bildpunkt-(oder Unterbildpunkt-)Zentrum. Wenn das Ergebnis gerade ist, dann ist die bevorzugte Ausrichtung auf der Grenze zwischen Bildpunkten (oder Unterbildpunkten). Mit der Zentrumsposition und einer Ausrichtregel (das Bildpunktzentrum oder der Bildpunktrand) kann der Vorrichtungsabstand zum nächsten Ausrichtgitter jeder Phase berechnet werden. Dieser Prozeß wird für jeden Grundstrich wiederholt. Wenn alle dieser Abstände für jeden Grundstrich und jede Ausrichtgitterphase verfügbar sind, kann die Ausrichtgitterphase mit dem kleinsten "Fehler" (d.h. Unterschied zwischen den "idealen" Grundstrichzentrumsstellen und jenen, die durch eine Gitterausrichtung mit der ausgewählten Ausrichtgitterphase auferlegt sind) bestimmt werden. "Klein", wie hierin verwendet, kann entweder als die kleinste Summe von Fehlern (in Absolutwert) oder der kleinste maximale Fehler definiert sein.
  • Wiederum auf 3A bezugnehmend, wird das Zeichen dargestellt bzw. gerendert, um eine Hochauflösungs-Bitmap des Zeichens zu erzeugen, beinhaltend ein Ausrichten des Zeichens an das ausgewählte Ausrichtgitter (316). Typischerweise wird das Zeichen bei dem Drei- oder Mehrfachen der Ausgabeauflösung dargestellt. Ein Hinweisen wird beim Darstellen des Zeichens verwendet, um Zeichenverdrehungen zu vermeiden. Spezifischer werden Hinweisdaten für jedes Zeichen evaluiert, um die horizontalen und vertikalen Grundstriche für das Zeichen und die Position und Breite von jedem ausfindig zu machen bzw. anzuordnen. Für jeden Grundstrich wird die Grundstrichbreite bestimmt. Die Grundstrichbreite wird mit einer Standard-Grundstrichbreite verglichen. Wenn die Grundstrichbreite nahe der Standardbreite ist, dann wird die Breite des Grundstrichs eingestellt, die Standard-Grundstrichbreite zu sein. Die Standardbreite ist ein Vielfaches der Bildpunktbreite (im Vorrichtungsraum).
  • Wenn die bestimmte Breite nicht ein Vielfaches einer Pixel- bzw. Bildpunktbreite ist, wird der Grundstrich gestreckt oder zusammengezogen, um ein Vielfaches einer Bildpunktbreite zu sein.
  • Jeder Grundstrich wird an dem ausgewählten Ausrichtgitter ausgerichtet, basierend auf der Verfahrensweiseinformation. Wie dies in größerem Detail später diskutiert werden wird, beinhaltet diese Verfahrensweise, ob das Zeichen "hart-kantig" oder "weich-kantig" sein soll, welches manchmal als "Hart"- bzw. "Weich"-Verfahrensweisen bezeichnet wird. Diese Verfahrensweise kann dynamisch durch den Renderer, den Client ausgewählt werden oder kann durch den Urheber der Darstellung vorbestimmt sein bzw. werden. Die Ausrichtung wird in größerem Detail unten in Verbindung mit 6 diskutiert.
  • Ein Mappen bzw. Abbilden wird von jedem idealen Bildpunkt in dem ausgewählten Ausrichtgitter an einem jeweiligen Vorrichtungsbildpunkt im Vorrichtungsgitter (320) bestimmt. Die Geometriedaten werden entnommen und beim Mappen verwendet. Spezifischer wird eine Zelle von Bildpunkten im Ausrichtgitter entweder an einem Vorrichtungsbildpunkt oder einem Verbundbildpunkt im Vorrichtungsgitter abgebildet (abhängig vom ausgewählten Ausrichtgitter). In einer Implementierung ist das Mappen vom Ausrichtgitter an das Vorrichtungsgitter mathematisch definiert, wo P = ideal × Hinweis × Fontpunktgröße × Vorrichtungsauflösung;wo P = die Vorrichtungsbildpunktstelle im Vorrichtungsgitter,
    ideal = zu der idealen Pixelstelle im Ausrichtgitter,
    Hinweis = Hinweisstreck- oder -schrumpfungsfaktor, und
    Vorrichtungsauflösung die Auflösung der Ausgabevorrichtung im Vorrichtungsraum ist.
  • Sobald abgebildet, wird ein vorrichtungsspezifischer Intensitätswert für jede Bildpunktstelle in dem Vorrichtungsgitter (322) berechnet. Der vorrichtungsspezifische Intensitätswert wird vom idealen Intensitätswert für eine gegebene Zelle des Ausrichtgitters berechnet. Die ideale Intensitätseinstellung für einen Vorrichtungsbildpunkt wird durch eine direkte Art berechnet. In einer Implementierung wird der ideale Intensitätswert berechnet, wie dies in der gleichzeitig anhängigen Anmeldung mit dem Titel "Method and Apparatus for Rendering Characters" ("Verfahren und Vorrichtung zum Darstellen von Zeichen") beschrieben ist. Alternativ kann der ideale Intensitätswert berechnet (und skaliert) werden, wie dies in US Patent Nummer 5,929,866 mit dem Titel "Anti-aliasing Small Characters" ("Anti-Aliasing von kleinen Zeichen") an David Arnold, übertragen an Adobe Systems, Inc. in San Jose, Kalifornien, beschrieben ist, deren Inhalte hierin ausdrücklich durch Hinweis aufgenommen sind. Nachdem ein idealer Intensitätswert bestimmt ist, werden die Farbdaten herausgeholt bzw. entnommen. Die Farbdaten definieren ein Mapping bzw. Übertragen von idealisierten Intensitätswerten auf vorrichtungsspezifische Intensitätswerte. Das Mapping wird verwendet, um die Intensitätseinstellung für einen Bildpunkt (oder Verbundbildpunkt) im Vorrichtungsraum zu bestimmen. Danach endet der Prozeß.
  • 4 wird verwendet, um Schritt 306 von 3 in größerem Detail zu illustrieren. Genauer empfängt ein verbesserter Font-Renderer 88 der vorliegenden Erfindung einen Aufruf 89 von einem Client 90, welcher einen Zeichenzeiger, eine Zeichengröße, die Anzahl von Grauskalen und die Verfahrensweise beinhaltet. Der Renderer 88 erzeugt einen Anruf 91 auf ein analysiertes bzw. geparstes Fontprogramm 92, welches ein Zeichenprogramm (um den Fontumriß des Zeichens zu erzeugen), Fontwerte, und Fontfamilienwerte retourniert, wie dies bei 93 illustriert ist. Der gesteigerte bzw. verstärkte Font-Renderer 88 leitet dann eine Hochauflösungs-Bitmap, wie bei 95 illustriert, zu dem Client 90, welcher das Grauskalenrendern durchführt und welcher eine Bildpunktkarte 96 niedriger Auflösung an eine Bildausgabevorrichtung 94 sendet.
  • Wie oben erklärt, kann der Client 90 irgendein Anwendungsprogramm, Hilfsprogramm oder anderer computerimplementierter Prozeß sein, der fähig ist zu verlangen, daß ein Zeichen an der Ausgabevorrichtung 94 angezeigt wird. Das geparste Fontprogramm ist vorzugsweise ein Fontprogramm, wie beispielsweise Adobe-Typ I Format, das von Adobe Systems, Inc. in San Jose, Kalifornien erhältlich ist. Eine vollständige Beschreibung des Gebrauchs und der Arbeitsweise eines geparsten Fontprogramms 92 kann im "Black Book", sie oben, gefunden werden.
  • Es ist für jene Fachleute auf dem Gebiet und mit Kenntnis des Inhalts des "Black Book" ohne weiteres ersichtlich, wie Clients, wie beispielsweise der Client 90 Aufrufe an Renderer machen und Hochauflösungs-Bitmaps zurück von den Renderern empfangen, und weiterhin wie der Client 90 eine Bildpunktkarte bzw. Pixelmap von der Hochauflösungs-Bitmap für die Ausgabevorrichtung 94 erzeugen kann. Die Verwendung eines geparsten Fontprogramms 92 ist auch jenen Fachleuten auf dem Gebiet gut bekannt, zusammen mit dem Empfang von Aufrufen von einem Renderer, und dem Bereitstellen des Zeichenprogramms, von Fontwerten und Fontfamilienwerten.
  • In 5 ist Schritt 318 von 3A in größerem Detail illustriert. Genauer beginnt der Prozeßschritt 318 bei 98 und in einem Schritt 100 werden die aktuellen Fontmatrix- und Grundstricheigenschaften vom geparsten Fontprogramm 92 empfangen. Details des Vorgangs sind wiederum im "Black Book" erklärt. Als nächstes werden die Grundstricheigenschaften mit der Matrix transformiert, um Ausrichtgitterstellen der Grundstrichränder bzw. -kanten und Grundstrichbreiten in einem Schritt 102 zu erhalten.
  • In einem Schritt 104 wird bestimmt, ob die Verfahrensweise eine "Hart-Rand"- oder "Weich-Rand"-Verfahrensweise ist. Eine Hart-Rand- oder "harte" Verfahrensweise bzw. Politik ist eine, wobei vertikale und horizontale Grundstriche vollkommen schwarz gemacht sind bzw. werden, d.h. Grauskala wird nicht verwendet. In einer Hart-Rand-Verfahrensweise sind bzw. werden nur Kurven und Diagonale Grauskalentyp-Anti-Aliasing-Techniken unterwerfen. Im Gegensatz erlauben "Weich-Rand"- oder "weiche" Verfahrensweisen ein Anti-Aliasing der horizontalen und vertikalen Grundstriche.
  • Ob Hart-Rand- oder Weich-Rand-Verfahrensweisen angewandt werden, kann durch die Clients ausgewählt werden oder ist bzw. wird der Verfügungsfreiheit des Renderers überlassen. Hart-Rand-Verfahrensweisen neigen dazu, schärfere, dünklere Grundstriche herzustellen, können aber etwas an Quantisierungseffekten leiden, die früher erwähnt wurden. Weich- Rand-Verfahrensweisen scheinen glatter zu sein, können aber einigen Betrachtern "ausgefranst" erscheinen.
  • Wenn eine Hart-Rand-Verfahrensweise gewählt wird, rundet Schritt 106 die Grundstrichbreite auf ein integrales grobes Gitter. Durch "integral" ist gemeint, daß ein integrales Vielfaches einer Zellbreite gewählt ist, d.h. 1, 2, 3, usw. Vielfache der Zellbreite. Als nächstes wird in einem Schritt 108 der Grundstrich auf das Ausrichtgitter zentriert und der Prozeß wird bei 110 abgeschlossen.
  • Wenn eine weiche Verfahrensweise ausgewählt wird, wie dies durch Schritt 104 detektiert ist, rundet ein Schritt 112 die Grundstrichbreite auf ein integrales Hochauflösungsgitter, und dann bestimmt ein Entscheidungsschritt 114, ob der Grundstrich ein "Geist"-Grundstrich ist. Der Ausdruck "integral" wird in einer ähnlichen Weise hier verwendet, um ganzzahlige Vielfache der Hochauflösungsgitter-Bildpunkte zu bedeuten, d.h. 1, 2, 3, usw. Vielfache der Hochauflösungsgitter-Bildpunkte. "Geist"-Grundstriche werden in dem oben erwähnten "Black Book" diskutiert, und sind kurz gesagt, Grundstriche, die nur einen Rand bzw. eine Kante zur Regelung bzw. Steuerung aufweisen.
  • Wenn die Grundstriche nicht Geist-Grundstriche sind, bestimmt ein Schritt 116 die Nähe des Grundstrichs zu einer Bildpunktgrenze des Gitters und richtet den Grundstrich an eine Bildpunktgrenze des Ausrichtgitters basierend auf dieser Nähe aus.
  • Wenn Schritt 114 bestimmt, daß der Grundstrich ein Geist-Grundstrich ist, bestimmt ein Entscheidungsschritt 122 die Art des Ghost- bzw. Geist-Grundstrichs. Wenn er ein lin ker/Boden-Geist-Grundstrich ist, wird er mit links/Boden der Ausrichtgitterzelle basierend auf dieser Geist-Information ausgerichtet. Wenn er ein Oberseiten/rechter Geist-Grundstrich ist, richtet er sich mit Oberseite/rechts der groben Gitterzelle basierend auf dieser Geist-Information in Schritt 126 aus. Zu erwähnen ist, daß diese Einstellung nicht eine Nähe ist, die wie in Schritt 116 bestimmt wird, sondern eher durch den "Geist"-Hinweis selbst gerichtet bzw. gelenkt wird. Nach Abschluß irgendeines der Schritte 118, 120, 124 und 126 ist bzw. wird der Prozeß, wie bei 110 illustriert, abgeschlossen.
  • In 6 ist eine Illustration gemacht, um ein Erklären der Schritte 106 und 108 von 6 der harten Verfahrensweise zu unterstützen. In 6 wird ein grobes Gitter 128 für die Zwecke eines Beispiels angenommen, um Zellen 130 aufzuweisen, die quadratisch sind und welche vier Bildpunkte an jeder Seite sind. Für eine "ideale" Stelle 132 wird gezeigt, teilweise innerhalb der Zelle 130a, und auch teilweise innerhalb einer benachbarten Zelle 130b zu sein. Das Zentrum dieser idealen Stelle bzw. dieses idealen Punkts 132 ist bei 134 gezeigt.
  • An diesem Punkt sollte erwähnt werden, daß es einige vorrichtungsabhängige und einige designerabhängige Entscheidungen gibt, die getroffen werden können. Beispielsweise hängt die Entscheidung, wie die ideale Stelle 132 mit dem groben Gitter 128 auszurichten ist, sehr stark vom Typ der verwendeten Ausgabevorrichtung und von Entwickler- bzw. Designerentscheidungen ab. Beispielsweise verwenden die meisten Drucker von Personal Computern der ersten Generation die "Canon" Druckmaschinen, die durch Canon, Inc. auf Japan erzeugt werden. Mit diesen Druckern der ersten Generation wird ein runder Bildpunkt gedruckt, der vollständig die Zelle des groben Gitters abdeckt, d.h. der runde Bildpunkt weist einen Durchmesser auf, der ungefähr gleich einer Diagonale der Zelle des Gitters ist.
  • In den letzten Jahren wurde eine Anzahl von neuen Typen bzw. Arten von Druckmaschinen entwickelt. Beispielsweise erzeugt eine "Xerox" Maschine, die durch Xerox, Inc. in den Vereinigten Staaten hergestellt wird, einen Bildpunkt, der vier konkave Seiten aufweist, so daß der Bildpunkt gänzlich innerhalb der Zelle des groben Gitters paßt. Als ein Ergebnis können drei Bildpunkte, die durch eine Canon Maschine erzeugt werden, 3,8 Zellen des groben Gitters abdecken, während vier Bildpunkte, die durch eine Xerox Maschine erzeugt werden, 3,7 Zellen des groben Gitters abdecken können.
  • Mit der vorhergehenden Erklärung im Gedächtnis wird ein Schritt 108 von 5 diskutiert, als ob eine Ausgabevorrichtung einen perfekten quadratischen Bildpunkt erzeugen kann, der der quadratischen Zelle 30 des groben Gitters 128 entspricht, wobei verstanden wird, daß dies nur eine Annäherung an die Realität ist. Wie in 6 zu sehen, wird, wenn die ideale Stelle 132 geringer als 6 Pixel ("6–" Pixel) ist, sie auf vier Pixel in der Breite geschrumpft und mit der Zelle 130a ausgerichtet. Wenn die Stelle 132 größer als 6 Bildpunkte ("6+" Bildpunkte) ist, wird sie jedoch auf 8 Bildpunkte in der Breite vergrößert und wird veranlaßt, beide Zellen 130a und 130b auszufüllen. Im ersten Fall ist das Zentrum der Stelle 132' bei 134' (d.h. dem Zentrum der Zelle 138), und im anderen Fall weist die Stelle 132'' ein Zentrum 134'' auf, welches an der Grenzfläche zwischen den Zellen 130a und 130b ist. Auf diese Weise wird die Stelle 132 an dem groben Gitter 128 derart ausgerichtet, daß der Ausgleich von Grundstrichgewichten bewahrt wird.
  • In 7 ist die Weich-Rand-Verfahrensweise illustriert. Genauer illustriert 7 die Schritte 112, 118, 120, 124 und 126 von 5. Wie in 7 zu sehen, weist eine ideale Stelle 136 ein Zentrum 138 auf und ist mit einem groben Gitter 140 und einem Hochauflösungsgitter 142 assoziiert. Wie vorher ist das Hochauflösungsgitter in nur einer der Zellen 144 des groben Gitters 140 gezeigt, um die Zeichnungen nicht zu verwirren, obwohl es erkannt werden wird, daß das Hochauflösungsgitter 142 mit allen der Zellen des groben Gitters 140 assoziiert ist.
  • In Übereinstimmung mit der "Weich-Rand"-Verfahrensweise rundet Schritt 112 zuerst die Grundstrichbreite auf ein integrales Hochauflösungsgitter 142. In diesem Fall ist eine Seite eines Hochauflösungsgitter-Bildpunkts 1/4 einer Seite einer Zelle 144. Deshalb wird die Breite des Grundstrichs 134 auf das nächste 1/4 einer Ausrichtgitterzelle in einem Schritt 112 gerundet. Als nächstes wird bestimmt, mit welchen Zellen des Ausrichtgitters 140 die gerundete bzw. abgerundete Grundstrichbreite auszurichten ist. Dies ist der Zweck der Schritte 114, 116 und 122. Wenn die richtige Ausrichtgitterzelle gefunden ist, wird der gerundete Grundstrich dementsprechend ausgerichtet.
  • In diesem Beispiel ist die Stelle 136 etwas innerhalb einer Zelle 144a und 144b zentriert. Wenn es bestimmt wird, daß der gerundete Grundstrich mit der linken Zelle auszurichten ist, wird er wie angegeben zur Position 136' derart bewegt, daß er vollständig die Zelle 144a ausfüllt und teilweise die Zelle 144b überlappt. Wenn er andererseits mit der rechten Zelle auszurichten ist, wird er so bewegt, daß er vollständig die Zelle 144b ausfüllt und teilweise mit der Zelle 144a überlappt.
  • Analog kann, wenn der Grundstrich 136 nur teilweise die Zelle in der vertikalen Richtung überlappt, er an der Oberseite oder dem Boden der Zelle des groben Gitters in einer ähnlichen Weise ausgerichtet werden. Außerdem kann er, wenn er nur teilweise eine Zelle sowohl in der vertikalen als auch horizontalen Richtung überlappt, veranlaßt werden sich zu bewegen, um sich mit der Zelle des Ausrichtgitters sowohl in den Richtungen links/Boden und Oberseite/rechts auszurichten. Deshalb können sowohl horizontale als auch vertikale Grundstriche durch den Prozeß und Apparat der vorliegenden Erfindung gehandhabt werden.
  • Die vorhergehenden Beschreibungen und Illustrationen beschreiben den Basisprozeß und -apparat der vorliegenden Erfindung. Wie vorher erwähnt, wird der Prozeß der vorliegenden Erfindung vorzugsweise an einem Allzweck-Computersystem praktiziert, um Bilder an einer Ausgabevorrichtung, wie beispielsweise einem Videomonitor, einem Videoprojektionssystem oder einem Drucker mit kontinuierlicher Tönung bereitzustellen. Der Prozeß und die Vorrichtung der vorliegenden Erfindung werden weiter hinsichtlich eines illustrativen bzw. veranschaulichenden Beispiels diskutiert.
  • Beispiel 1 – Der Kleinbuchstabe "m"
  • In 8A wird der Fontumriß 148 des Buchstaben "m" über einem groben Gitter 146 überlagert gezeigt. Eine Hochauflösungs-Bitmap 150 wird von diesem Fontumriß 148 erzeugt.
  • Es wird erwähnt, daß die Hochauflösungs-Bitmap 150 mit einem Hochauflösungsgitter 152 ausgerichtet ist.
  • 8B illustriert die Bildpunktkarte bzw. Pixelmap, wie sie in Übereinstimmung mit der "Weich-Rand"-Verfahrensweise der vorliegenden Erfindung erzeugt ist. Die Hochauflösungs-Bitmap 150 wird zuerst in bezug auf das Hochauflösungsgitter 152 gerundet, und dann mit dem groben Gitter 146, wie oben beschrieben, ausgerichtet. Dann wird die Pixelkarte 154 durch diese gerundete und ausgerichtete Bitmap erzeugt, um die geeigneten bzw. entsprechenden Grauskalendaten für die Ausgabevorrichtung bereitzustellen. Wie gesehen werden kann, sind die Grundstriche 156a, 156b und 156c alle von der gleichen Breite und weisen ungefähr die gleiche Pixel- bzw. Bildpunktdichte auf. Dies wird eine anti-aliasierte Ausgabe zur Verfügung stellen, während ein Grundstrichbreiten-Ausgleich unverändert bewahrt wird.
  • Die "Hart-Rand"-Verfahrensweise wird unter Bezugnahme auf 8C beschrieben. In diesem Fall werden die Daten, wie in 8A illustriert, derartig "gestreckt", daß jeder der Grundstriche 158a, 158b und 158c die Breite einer Zelle 160 des groben Gitters 148 aufweist. Dies ist in Übereinstimmung mit den Schritten 106 und 108 von 5. Als nächstes wird die "gestreckte" Bitmap 160 von 8C in die Grauskalen-Pixelkarte 164 von 8D umgewandelt. Zu erwähnen ist noch einmal, daß die Grundstriche 166a, 166b und 166c der Pixelkarte 164 von der gleichen Breite und im wesentlichen von der gleichen Dichte sind. Dies erlaubt, daß der Buchstabe "m" anti-alisiert wird, während sein Grundstrichgewicht-Ausgleich bewahrt wird.
  • Wie vorher beschrieben, werden grobe, Ausrichtungs- und Hochauflösungsgitter vorzugsweise nicht wirklich bzw. tatsächlich innerhalb des Prozesses "konstruiert", sondern eher hierin verwendet, um die Konzepte der vorliegenden Erfindung zu erklären. Auch kann, wie von Fachleuten auf dem Gebiet erkannt bzw. geschätzt werden wird, die Reihenfolge der Schritte häufig geändert werden, und bestimmte Schritte wurden für den Zweck einer Klarheit vereinfacht. Beispielsweise wird der Schritt eines "Darstellens bzw. Renderns einer Hochauflösungs-Bitmap" vorzugsweise implementiert, indem zuerst eine Hochauflösungs-"Hinweiskarte" entwickelt wird, die Einstellungen an die Hinweiskarte bereitstellt, und dann die tatsächlichen Bildpunkte der Hochauflösungs-Bitmap dargestellt werden. Die "Hinweiskarte" ist einfach eine Hochauflösungsdarstellung der Gitterpassung-Ausrichtzonen des Zeichens, wie dies durch Fachleute auf dem Gebiet geschätzt werden wird. Alternativ kann der die Hochauflösungs-Bitmap darstellende Schritt der einzige, oben beschriebene Schritt sein. Die Geometrie kann zweidimensional sein, und als solche kann die Zunahme in einer Auflösung in mehr als einer Dimension realisiert bzw. verwirklicht werden.

Claims (7)

  1. Computer-implementiertes Verfahren zum Bearbeiten bzw. Verarbeiten eines Zeichens zur Anzeige auf einer Rasterausgabevorrichtung, wobei die Ausgabevorrichtung eine Auflösung und einen Satz von Bildpunkten bzw. Pixeln aufweist, die ein Vorrichtungsgegestands bzw. -gitter (392) definieren, wobei das Verfahren umfaßt: Darstellen bzw. Rendern des Zeichens bei einer höheren Auflösung als die Auflösung der Ausgabevorrichtung, enthaltend ein Ausrichten eines Grundstrichs bzw. Stamm bzw. Stems des Zeichens; und Herunter- bzw. Downsampeln des dargestellten Zeichens auf die Auflösung der Aufgabevorrichtung, dadurch gekennzeichnet, daß das Verfahren auch die Schritte umfaßt Bereitstellen einer Mehrzahl von Ausrichtgittern (380, 386, 389), wobei jedes Ausrichtgitter ähnlich zu dem Vorrichtungsgitter ist, jedoch um einen Abstand gleich einer Abmessung bzw. Dimension eines Subpixels bzw. Unterbildpunkts (394) verschoben ist, Evaluieren der Mehrzahl von Ausrichtgittern und Auswählen eines besten Ausrichtgitters für den Grundstrich des Zeichens; und daß der Grundstrich des Zeichens unter Verwendung des gewählten Ausrichtgitters an eine Unterbildpunktgrenze ausgerichtet wird.
  2. Verfahren nach Anspruch 1, wobei der Schritt eines Darstellens ein Darstellen des Zeichens bei einer Typengröße unter Verwendung einer Schriftgattung bzw. eines Fonts enthält, die bzw. das Schriftgattungsmaße aufweist, umfassend Hinweise-Information, die ein Zentrum eines Grundstrichs definiert und wo der Schritt eines Evaluierens ein Verschieben des Grundstrichs auf jedes Ausrichtgitter und ein Bestimmen eines Ausrichtgitters beinhaltet, welches am besten mit dem Zentrum des Grundstrichs zu einer Unterbildpunktgrenze ausgerichtet ist.
  3. Verfahren nach Anspruch 1, weiterhin beinhaltend ein Empfangen bzw. Erhalten von Unterbildpunkt-Geometrieinformation für die Ausgabevorrichtung, die eine Geometrie der adressierbaren Sub- bzw. Unterbildpunkte für jeden Bildpunkt der Ausgabevorrichtung definiert; und wo der Schritt eines Ausrichtens des Grundstrichs ein Verwenden der Subbildpunkt-Geometrieinformation beinhaltet, um zu bestimmen, welche Subbildpunkte von welchen Bildpunkten zu erleuchten sind, wenn der Grundstrich nicht mit einer Bildpunktgrenze ausgerichtet ist.
  4. Verfahren nach Anspruch 1, wobei der Schritt eines Downsampelns beinhaltet ein Empfangen von vorrichtungsspezifischen Daten, die spezifisch für die Ausgabevorrichtung abgeleitet werden, wo die vorrichtungsspezifischen Daten eine Mehrzahl von Funktionen beinhalten, eine für jede Farbebene, die durch die Ausgabevorrichtung verwendet wird; und ein Bestimmen einer Intensität für jeden Unterbildpunkt eines Bildpunkts in dem gewählten Ausrichtgitter unter Verwendung der vorrichtungsspezifischen Daten, um Intensitätsdaten spezifisch für die Ausgabevorrichtung abzuleiten.
  5. Verfahren nach Anspruch 1, wo die Unterbildpunkt-Abmessung eine Unterbildpunkt-Breite ist.
  6. Verfahren nach Anspruch 1, wo die Unterbildpunkt-Abmessung eine unter Unterbildpunkt-Höhe ist.
  7. Verfahren nach Anspruch 1, wobei die Unterbildpunkt-Abmessung eine Unterbildpunkt-Höhe und -Breite ist.
DE60031337T 1999-08-19 2000-08-14 Geräteabhängige Darstellung von Zeichen Expired - Lifetime DE60031337T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US378237 1999-08-19
US09/378,237 US6563502B1 (en) 1999-08-19 1999-08-19 Device dependent rendering

Publications (2)

Publication Number Publication Date
DE60031337D1 DE60031337D1 (de) 2006-11-30
DE60031337T2 true DE60031337T2 (de) 2007-05-24

Family

ID=23492310

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031337T Expired - Lifetime DE60031337T2 (de) 1999-08-19 2000-08-14 Geräteabhängige Darstellung von Zeichen

Country Status (3)

Country Link
US (3) US6563502B1 (de)
EP (1) EP1077445B1 (de)
DE (1) DE60031337T2 (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954216B1 (en) * 1999-08-19 2005-10-11 Adobe Systems Incorporated Device-specific color intensity settings and sub-pixel geometry
US6563502B1 (en) * 1999-08-19 2003-05-13 Adobe Systems Incorporated Device dependent rendering
US6701023B1 (en) * 1999-09-28 2004-03-02 Adobe Systems Incorporated Reducing appearance differences between coded and noncoded units of text
JP4544669B2 (ja) * 1999-09-30 2010-09-15 三洋電機株式会社 キャラクタ読み出し回路
KR20020008040A (ko) * 2000-07-18 2002-01-29 마츠시타 덴끼 산교 가부시키가이샤 표시 장치, 표시 방법 및 표시 제어 프로그램을 기록한기록 매체
CN1179312C (zh) * 2000-07-19 2004-12-08 松下电器产业株式会社 显示方法
JP2002040985A (ja) * 2000-07-21 2002-02-08 Matsushita Electric Ind Co Ltd 縮小表示方法
US7086010B1 (en) * 2000-11-21 2006-08-01 Nokia Mobile Phones, Ltd. Three-dimensional graphical icon appearance in displays of electronic devices
US7598955B1 (en) 2000-12-15 2009-10-06 Adobe Systems Incorporated Hinted stem placement on high-resolution pixel grid
JP3476784B2 (ja) * 2001-03-26 2003-12-10 松下電器産業株式会社 表示方法
TW540022B (en) * 2001-03-27 2003-07-01 Koninkl Philips Electronics Nv Display device and method of displaying an image
JP3476787B2 (ja) * 2001-04-20 2003-12-10 松下電器産業株式会社 表示装置及び表示方法
US7184066B2 (en) * 2001-05-09 2007-02-27 Clairvoyante, Inc Methods and systems for sub-pixel rendering with adaptive filtering
JP3719590B2 (ja) * 2001-05-24 2005-11-24 松下電器産業株式会社 表示方法及び表示装置ならびに画像処理方法
JP5031954B2 (ja) * 2001-07-25 2012-09-26 パナソニック株式会社 表示装置、表示方法及び表示制御プログラムを記録した記録媒体
US7224489B2 (en) * 2001-09-25 2007-05-29 Xerox Corporation Font characteristic driven halftoning
JP4180814B2 (ja) * 2001-10-22 2008-11-12 松下電器産業株式会社 太字表示方法及びそれを用いた表示装置
US6897879B2 (en) * 2002-03-14 2005-05-24 Microsoft Corporation Hardware-enhanced graphics acceleration of pixel sub-component-oriented images
US6894701B2 (en) * 2002-05-14 2005-05-17 Microsoft Corporation Type size dependent anti-aliasing in sub-pixel precision rendering systems
JP3849663B2 (ja) * 2003-03-31 2006-11-22 ブラザー工業株式会社 画像処理装置及び画像処理方法
US7002597B2 (en) * 2003-05-16 2006-02-21 Adobe Systems Incorporated Dynamic selection of anti-aliasing procedures
US7006107B2 (en) * 2003-05-16 2006-02-28 Adobe Systems Incorporated Anisotropic anti-aliasing
JP2005077750A (ja) * 2003-08-29 2005-03-24 Toshiba Corp 表示装置装置および文字表示制御方法
US7602390B2 (en) * 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
US7580039B2 (en) * 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7639258B1 (en) 2004-03-31 2009-12-29 Adobe Systems Incorporated Winding order test for digital fonts
US7333110B2 (en) 2004-03-31 2008-02-19 Adobe Systems Incorporated Adjusted stroke rendering
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7148901B2 (en) * 2004-05-19 2006-12-12 Hewlett-Packard Development Company, L.P. Method and device for rendering an image for a staggered color graphics display
US8253742B2 (en) 2004-05-28 2012-08-28 Microsoft Corporation Rendering stroke pairs for graphical objects
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
US7710422B2 (en) * 2004-07-26 2010-05-04 Microsoft Corporation Font representations
US20070002083A1 (en) * 2005-07-02 2007-01-04 Stephane Belmon Display of pixels via elements organized in staggered manner
JP4984445B2 (ja) * 2005-07-08 2012-07-25 ブラザー工業株式会社 画像処理装置及びその方法
US7684641B1 (en) * 2005-12-13 2010-03-23 Nvidia Corporation Inside testing for paths using a derivative mask
US7868888B2 (en) * 2006-02-10 2011-01-11 Adobe Systems Incorporated Course grid aligned counters
US7752543B2 (en) * 2006-02-17 2010-07-06 Microsoft Corporation Applying effects to a merged text path
US7609269B2 (en) 2006-05-04 2009-10-27 Microsoft Corporation Assigning color values to pixels based on object structure
US8339411B2 (en) * 2006-05-04 2012-12-25 Microsoft Corporation Assigning color values to pixels based on object structure
US8159495B2 (en) * 2006-06-06 2012-04-17 Microsoft Corporation Remoting sub-pixel resolved characters
US20080068383A1 (en) * 2006-09-20 2008-03-20 Adobe Systems Incorporated Rendering and encoding glyphs
US8547395B1 (en) 2006-12-20 2013-10-01 Nvidia Corporation Writing coverage information to a framebuffer in a computer graphics system
JP5235901B2 (ja) * 2007-02-13 2013-07-10 三星ディスプレイ株式會社 指向性表示装置用のサブピクセルレイアウト及びサブピクセルレンダリング方法及びシステム
US8085271B2 (en) * 2007-06-08 2011-12-27 Apple Inc. System and method for dilation for glyph rendering
US7944447B2 (en) * 2007-06-22 2011-05-17 Apple Inc. Adaptive and dynamic text filtering
US7872651B2 (en) * 2007-06-26 2011-01-18 Microsoft Corporation Error metrics for characters
US7945119B2 (en) * 2007-06-26 2011-05-17 Microsoft Corporation Optimizing character rendering
US8004522B1 (en) 2007-08-07 2011-08-23 Nvidia Corporation Using coverage information in computer graphics
US8325203B1 (en) 2007-08-15 2012-12-04 Nvidia Corporation Optimal caching for virtual coverage antialiasing
US8830258B2 (en) * 2011-03-07 2014-09-09 Ricoh Co., Ltd Generating strokes in real-time on an electronic paper display
CN103854570B (zh) * 2014-02-20 2016-08-17 北京京东方光电科技有限公司 显示基板及其驱动方法和显示装置
US10347016B2 (en) * 2016-01-12 2019-07-09 Monotype Imaging Inc. Converting font contour curves
US10936792B2 (en) 2017-12-21 2021-03-02 Monotype Imaging Inc. Harmonizing font contours
CN110363830B (zh) * 2018-04-10 2023-05-02 阿里巴巴集团控股有限公司 元素图像生成方法、装置及系统
US10636387B2 (en) * 2018-09-07 2020-04-28 Microsoft Technology Licensing, Llc Rendering oversized glyphs to a monospace grid
CN112583900B (zh) * 2020-12-02 2023-04-07 深圳市互盟科技股份有限公司 云计算的数据处理方法及相关产品

Family Cites Families (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200861A (en) * 1978-09-01 1980-04-29 View Engineering, Inc. Pattern recognition apparatus and method
US4580231A (en) 1978-09-15 1986-04-01 Alphatype Corporation Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data
US4331955A (en) * 1980-08-07 1982-05-25 Eltra Corporation Method and apparatus for smoothing outlines
US4486785A (en) * 1982-09-30 1984-12-04 International Business Machines Corporation Enhancement of video images by selective introduction of gray-scale pels
US4591844A (en) * 1982-12-27 1986-05-27 General Electric Company Line smoothing for a raster display
EP0132456B1 (de) * 1983-07-29 1988-02-03 DR.-ING. RUDOLF HELL GmbH Verfahren und Vorrichtung zur Prüfung der Satzqualität von Druckerzeugnissen, insbesondere Zeitungen
US4672369A (en) * 1983-11-07 1987-06-09 Tektronix, Inc. System and method for smoothing the lines and edges of an image on a raster-scan display
US4675830A (en) * 1984-07-06 1987-06-23 Compugraphic Corporation Method for producing a scaleable typeface data
US4677571A (en) 1985-02-08 1987-06-30 Rise Technology Inc. Electronic publishing
US4780711A (en) * 1985-04-12 1988-10-25 International Business Machines Corporation Anti-aliasing of raster images using assumed boundary lines
US4827255A (en) * 1985-05-31 1989-05-02 Ascii Corporation Display control system which produces varying patterns to reduce flickering
US4720705A (en) * 1985-09-13 1988-01-19 International Business Machines Corporation Virtual resolution displays
IE852259L (en) * 1985-09-13 1987-03-13 Scottish & Newcastle Breweries A method and apparatus for constructing, storing and¹displaying characters
US4783652A (en) * 1986-08-25 1988-11-08 International Business Machines Corporation Raster display controller with variable spatial resolution and pixel data depth
JPH0717007Y2 (ja) * 1987-05-28 1995-04-19 日産自動車株式会社 車速センサ−異常検出装置
US4851825A (en) * 1987-07-24 1989-07-25 Naiman Abraham C Grayscale character generator and method
EP0304509B1 (de) 1987-08-28 1993-06-16 URW Software & Type GmbH Bildschirmgerät zur Textdarstellung
EP0313332B1 (de) 1987-10-22 1994-12-14 Rockwell International Corporation Verfahren und Einrichtung zum Zeichnen von Linien von hoher Qualität auf einer Matrixanzeige mit Farben
US5280577A (en) * 1988-01-19 1994-01-18 E. I. Du Pont De Nemours & Co., Inc. Character generation using graphical primitives
US4928252A (en) * 1988-02-24 1990-05-22 Digital Equipment Corporation Printing apparatus and method for printing a plurality of pages onto a single sheet
US4945351A (en) * 1988-05-23 1990-07-31 Hewlett-Packard Company Technique for optimizing grayscale character displays
US4908780A (en) * 1988-10-14 1990-03-13 Sun Microsystems, Inc. Anti-aliasing raster operations utilizing sub-pixel crossing information to control pixel shading
AU629210B2 (en) * 1988-10-26 1992-10-01 Sun Microsystems, Inc. Method and apparatus for minimizing the visual degradation of digital typefaces
JP2856420B2 (ja) 1989-04-17 1999-02-10 株式会社リコー 文字パターンデータ発生方法
US5099435A (en) * 1989-03-31 1992-03-24 Bitstream, Inc. Method and apparatus for conversion of outline characters to bitmap characters
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
US5050103A (en) 1989-05-12 1991-09-17 Adobe Systems Incorporated Method for displaying kanji characters
US5164717A (en) 1989-09-28 1992-11-17 Sun Microsystems, Inc. Method and apparatus for the dithering of antialiased vectors
JPH03154096A (ja) 1989-11-13 1991-07-02 Canon Inc パターン発生方法及びパターン発生装置
JPH03201788A (ja) 1989-12-28 1991-09-03 Nippon Philips Kk カラー表示装置
JPH03243370A (ja) 1990-02-22 1991-10-30 Yuumiizu:Kk 濃淡文字データの形成方法及び装置
US5299308A (en) * 1990-02-28 1994-03-29 Ricoh Company, Ltd. Graphic data processing apparatus for producing a tone for an edge pixel and reducing aliasing effects
US5241653A (en) * 1990-04-12 1993-08-31 Adobe Systems Incorporated Apparatus and method for adjusting and displaying scaled, rasterized characters
JPH077256B2 (ja) 1990-07-25 1995-01-30 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン グレイ・スケール・パターンの発生方法
US5459828A (en) * 1990-08-01 1995-10-17 Xerox Corporation Optimized scaling and production of raster fonts from contour master fonts
JPH04246690A (ja) * 1990-08-29 1992-09-02 Xerox Corp 高品質のイメージを並みの解像度で表示する方法
US5586227A (en) 1991-03-28 1996-12-17 Canon Kabushiki Kaisha Image processing apparatus
US5301267A (en) * 1991-09-27 1994-04-05 Adobe Systems Incorporated Intelligent font rendering co-processor
JP3082491B2 (ja) * 1992-01-27 2000-08-28 松下電器産業株式会社 文字フォントデータ出力装置
US5416898A (en) * 1992-05-12 1995-05-16 Apple Computer, Inc. Apparatus and method for generating textual lines layouts
JP3382265B2 (ja) * 1992-07-29 2003-03-04 キヤノン株式会社 文字パターン作成方法及び装置
US5398306A (en) * 1992-07-31 1995-03-14 Urw Software & Type Gmbh Generation of multitype fonts on high resolution output devices
JPH06208370A (ja) 1992-08-28 1994-07-26 Go Corp エイリアシング阻止および格子適合を結合した文字表示ラスタ化方法
US5444552A (en) 1992-09-28 1995-08-22 Xerox Corporation Method for compressing, processing, and storing grayscale bitmaps
EP0604685A1 (de) * 1992-12-28 1994-07-06 Océ-Nederland B.V. Methode zur Modifizierung des Fettdruckens von Buchstaben
US5664086A (en) * 1993-04-16 1997-09-02 Adobe Systems Incorporated Method and apparatus for generating digital type font, and resulting fonts using generic font and descriptor file
JP2967014B2 (ja) * 1993-05-24 1999-10-25 キヤノン株式会社 画像処理装置
AU7051594A (en) 1993-06-10 1995-01-03 Apple Computer, Inc. Anti-aliasing apparatus and method with automatic snap fit of horizontal and vertical edges to target grid
JP3021278B2 (ja) * 1993-08-30 2000-03-15 シャープ株式会社 均一幅線の生成装置及び均一幅線の生成方法
DE59307951D1 (de) 1993-11-18 1998-02-12 Adobe Systems Inc Verfahren zur Textdarstellung auf Bildschirmgeräten
US5959634A (en) * 1993-12-09 1999-09-28 Canon Kabushiki Kaisha Character generating system employing thickening or narrowing of characters
KR100243174B1 (ko) * 1993-12-28 2000-02-01 윤종용 서브픽셀 마스크 발생방법 및 장치
EP0667596A1 (de) 1994-02-10 1995-08-16 Adobe Systems Incorporated Verfahren zur Text- und Graphikdarstellung auf Farbbildschirmgeräten
US5519824A (en) * 1994-03-18 1996-05-21 Timex Corporation System and method for storing and displaying font data representing fixed-width and compressed characters
US5754187A (en) * 1994-05-16 1998-05-19 Agfa Division, Bayer Corporation Method for data compression of digital data to produce a scaleable font database
US5734388A (en) * 1994-05-16 1998-03-31 Agfa Division, Bayer Corporation Method and apparatus for data compression of digital data to produce a scaleable font database
US5684510A (en) * 1994-07-19 1997-11-04 Microsoft Corporation Method of font rendering employing grayscale processing of grid fitted fonts
EP0701242A3 (de) * 1994-08-16 1996-12-27 Adobe Systems Inc Verbessertes Verfahren zum Generieren von Mehrmaster-Schrifttypen
US5517601A (en) * 1994-09-30 1996-05-14 Hewlett-Packard Company High speed apparatus and method for rasterization of font glyphs
JP3119805B2 (ja) * 1994-12-20 2000-12-25 松下電器産業株式会社 多階調データ生成装置
US5943063A (en) 1995-10-23 1999-08-24 Adobe Systems, Inc. Method and apparatus for rendering characters
JPH09134158A (ja) * 1995-11-09 1997-05-20 Fujitsu Ltd 文字処理方法及び処理装置
US6104833A (en) * 1996-01-09 2000-08-15 Fujitsu Limited Pattern recognizing apparatus and method
US5910805A (en) 1996-01-11 1999-06-08 Oclc Online Computer Library Center Method for displaying bitmap derived text at a display having limited pixel-to-pixel spacing resolution
US5929866A (en) * 1996-01-25 1999-07-27 Adobe Systems, Inc Adjusting contrast in anti-aliasing
US6128415A (en) * 1996-09-06 2000-10-03 Polaroid Corporation Device profiles for use in a digital image processing system
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US5852448A (en) * 1996-09-20 1998-12-22 Dynalab Inc. Stroke-based font generation independent of resolution
US6408109B1 (en) * 1996-10-07 2002-06-18 Cognex Corporation Apparatus and method for detecting and sub-pixel location of edges in a digital image
US6266444B1 (en) * 1996-10-11 2001-07-24 Canon Kabushiki Kaisha Character processing apparatus and method therefor
US6005588A (en) * 1996-11-06 1999-12-21 Apple Computer, Inc. System and method for rapidly displaying text in a graphical user interface
US6950986B1 (en) * 1996-12-10 2005-09-27 North River Consulting, Inc. Simultaneous display of a coded message together with its translation
US6288725B1 (en) * 1997-02-24 2001-09-11 Zining Fu Representation and restoration method of font information
US6229521B1 (en) * 1997-04-10 2001-05-08 Sun Microsystems, Inc. Method for antialiasing fonts for television display
US6288726B1 (en) * 1997-06-27 2001-09-11 Microsoft Corporation Method for rendering glyphs using a layout services library
US6091505A (en) * 1998-01-30 2000-07-18 Apple Computer, Inc. Method and system for achieving enhanced glyphs in a font
US6323879B1 (en) * 1998-05-14 2001-11-27 Autodesk, Inc. Method and system for determining the spacing of objects
AUPP557998A0 (en) * 1998-08-28 1998-09-24 Canon Kabushiki Kaisha Method and apparatus for orientating a set of finite N-dimensional space curves
US6141441A (en) * 1998-09-28 2000-10-31 Xerox Corporation Decoding data from patterned color modulated image regions in a color image
US6278434B1 (en) 1998-10-07 2001-08-21 Microsoft Corporation Non-square scaling of image data to be mapped to pixel sub-components
US6356278B1 (en) * 1998-10-07 2002-03-12 Microsoft Corporation Methods and systems for asymmeteric supersampling rasterization of image data
US6236390B1 (en) * 1998-10-07 2001-05-22 Microsoft Corporation Methods and apparatus for positioning displayed characters
US6088482A (en) * 1998-10-22 2000-07-11 Symbol Technologies, Inc. Techniques for reading two dimensional code, including maxicode
US6393145B2 (en) * 1999-01-12 2002-05-21 Microsoft Corporation Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices
US7002596B1 (en) 1999-03-02 2006-02-21 Planetweb, Inc. Anti-aliasing system and method
US6342890B1 (en) 1999-03-19 2002-01-29 Microsoft Corporation Methods, apparatus, and data structures for accessing sub-pixel data having left side bearing information
US6438576B1 (en) * 1999-03-29 2002-08-20 International Business Machines Corporation Method and apparatus of a collaborative proxy system for distributed deployment of object rendering
US6614432B1 (en) * 1999-04-16 2003-09-02 Adobe Systems Incorporated Image rendering technique
US6657625B1 (en) * 1999-06-09 2003-12-02 Microsoft Corporation System and method of caching glyphs for display by a remote terminal
US6282327B1 (en) * 1999-07-30 2001-08-28 Microsoft Corporation Maintaining advance widths of existing characters that have been resolution enhanced
US6330003B1 (en) * 1999-07-30 2001-12-11 Microsoft Corporation Transformable graphical regions
US6563502B1 (en) * 1999-08-19 2003-05-13 Adobe Systems Incorporated Device dependent rendering
US6384839B1 (en) * 1999-09-21 2002-05-07 Agfa Monotype Corporation Method and apparatus for rendering sub-pixel anti-aliased graphics on stripe topology color displays
US6725779B2 (en) * 2000-10-17 2004-04-27 Agfa-Gevaert Multi-level printing process reducing aliasing in graphics
US6442890B1 (en) * 2000-10-31 2002-09-03 Samuel M. Creeger Method of controlling pests and associated apparatus
KR100821026B1 (ko) * 2000-12-05 2008-04-08 마쯔시다덴기산교 가부시키가이샤 3차원 문자 데이터 생성 장치 및 3차원 그래픽 데이터생성 장치
JP2002215126A (ja) * 2001-01-15 2002-07-31 Sharp Corp 文字表示装置、文字表示方法および記録媒体
US6633680B2 (en) * 2001-03-09 2003-10-14 Morisawa & Co., Ltd. System, method and computer program product for small-font compression
US6738071B2 (en) * 2001-10-25 2004-05-18 Hewlett-Packard Development Company, L.P. Dynamically anti-aliased graphics
US6897879B2 (en) * 2002-03-14 2005-05-24 Microsoft Corporation Hardware-enhanced graphics acceleration of pixel sub-component-oriented images
US6894701B2 (en) * 2002-05-14 2005-05-17 Microsoft Corporation Type size dependent anti-aliasing in sub-pixel precision rendering systems
US6943805B2 (en) * 2002-06-28 2005-09-13 Microsoft Corporation Systems and methods for providing image rendering using variable rate source sampling
US20040119724A1 (en) * 2002-12-20 2004-06-24 Imagelinx International Ltd. Digital prepress masking tools
US7190367B2 (en) * 2003-03-25 2007-03-13 Mitsubishi Electric Research Laboratories, Inc. Method, apparatus, and system for rendering using a progressive cache
US7002598B2 (en) * 2003-03-25 2006-02-21 Mitsubishi Electric Research Labs., Inc. Method for generating a composite glyph and rendering a region of the composite glyph in object-order
US7002597B2 (en) * 2003-05-16 2006-02-21 Adobe Systems Incorporated Dynamic selection of anti-aliasing procedures
US7006107B2 (en) * 2003-05-16 2006-02-28 Adobe Systems Incorporated Anisotropic anti-aliasing
EP1496475B1 (de) * 2003-07-07 2013-06-26 STMicroelectronics Srl Geometrische Verarbeitungsstufe für einen pipelineförmiges, grafisches Anzeigesystem, Verfahren und Rechnerprogramm dafür
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7580039B2 (en) * 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7333110B2 (en) * 2004-03-31 2008-02-19 Adobe Systems Incorporated Adjusted stroke rendering
US7602390B2 (en) * 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
US7710422B2 (en) * 2004-07-26 2010-05-04 Microsoft Corporation Font representations
US7408556B2 (en) * 2005-01-31 2008-08-05 Microsoft Corporation System and method for using device dependent fonts in a graphical display interface
JP4282693B2 (ja) * 2006-07-04 2009-06-24 株式会社東芝 半導体発光素子及びその製造方法
US20080068383A1 (en) 2006-09-20 2008-03-20 Adobe Systems Incorporated Rendering and encoding glyphs

Also Published As

Publication number Publication date
US20060181533A1 (en) 2006-08-17
US20040212620A1 (en) 2004-10-28
EP1077445A3 (de) 2001-09-26
DE60031337D1 (de) 2006-11-30
EP1077445B1 (de) 2006-10-18
US7646387B2 (en) 2010-01-12
US7425960B2 (en) 2008-09-16
US6563502B1 (en) 2003-05-13
EP1077445A2 (de) 2001-02-21

Similar Documents

Publication Publication Date Title
DE60031337T2 (de) Geräteabhängige Darstellung von Zeichen
DE69822545T2 (de) Bildverbesserung unter Benutzung einer Flächeninterpolation
DE60121388T2 (de) Graphische Anzeigevorrichtung, Vorrichtung zur Anzeige von Zeichen, Anzeigeverfahren, Aufzeichnungsmedium und Programm
DE69826044T2 (de) Vektorkartenplanarisierung und -einfang
DE60122835T2 (de) Anzeigeeinrichtung und -Verfahren, und Datenträger der ein Computerprogramm zur Ansteuerung einer Anzeige mit unterteilten Bildelementen beinhaltet
DE69833531T2 (de) Vollszenen-Antialiasing mit verbesserten Überabtastungstechniken
DE4106458C2 (de) Graphische Datenverarbeitungseinrichtung zum Erzeugen eines Tones eines Randbildelements aus Vektordaten
US6188385B1 (en) Method and apparatus for displaying images such as text
EP0654778B1 (de) Verfahren zur Textdarstellung auf Bildschirmgeräten
DE69133362T2 (de) Dokumentenverarbeitungs-verfahren und -gerät, entsprechende Program und Speichereinheit
DE69935120T2 (de) Automatische Verbesserung der Druckqualität basiert auf Grösse, Form, Orientierung und Farbe von Strukturen
EP0786757B1 (de) Kontrastregelung für Antialiasing
DE3315148C2 (de)
DE4014231A1 (de) Verfahren zum bearbeiten der steuerpunkte eines symbolbildes
DE3518416A1 (de) Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige
US6307566B1 (en) Methods and apparatus for performing image rendering and rasterization operations
DE19623318C2 (de) Teilpixelcodierungs- und Decodierungsverfahren
EP1842361B1 (de) Verfahren, computerprogramm, computer und drucksystem zum trapping von bilddaten
DE69730268T2 (de) Verfahren und System zur Bestimmung von Farbmittelmengen
DE60123914T2 (de) System und Verfahren zur Bilddatenverarbeitung, Rechnerprogramm zur Durchführung des Verfahrens und Datenträger zur Speicherung des Programms
DE69834227T2 (de) Erkennung und Korrektion von Farblücken
DE69728918T2 (de) Verfahren und Gerät zur wirkungsvollen Bildinterpolation
DE69927269T2 (de) Vorrichtung und verfahren zum erkennen und erzeugen grafischer elemente
EP2092465B1 (de) Verfahren und system zum automatischen aufbereiten von druckdaten für einen druckvorgang
DE69724707T2 (de) Filter und Rasteroperationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition