SeL< HAS DATA SUBJECTED TO FILL-IN PAINTING BEEN >NO I
SUPPLIED?
SD; IN/Es
"1 READ IMAGE DATA EXPRESSING A BACKGROUND IIIAGE I
sos I
V1 COMPOSE THE CHARACTER WITH THE BACKGROUND IMAGE |
s04 I
*1 WRITE COMPOSED IMAGE DATA INTO TNE VRAM |
sos I
HAS A FILL-IN PAI IIING COMPLETION SIGNAL YEs
BEEN TRANSMITTED?
No]
3 I
D6 ,
"*1 CLEAR THE F ILL-IN PAINTING COMPLETION SIGNAL
.SD7
“AI OUTPJT A COMPLETION NOTIFICATION SIGNAL
F/G. 73 FIRST CHARACTER THIRD CHARACTER ‘i T Y \ V >== FILL-IN NTNNNTN FILL—lN MIIPIISING E °°"t°“R DRAw'“G PAINTING IRAIISFERRIIIG °°“t°“R DRAw'"G PAINTING TINNNENNTIN =2 a a a ° c c § 2 j (\J _ VI E FILL-IN NNNNTNN E CONTOURbDRAW|NG PA|NbT|NG,WSE,R|NG CONTOURdDRAW|NG E
SECOND CHARACTER FOURTH CHARACTER
CHARACTER RENDERING DEVICE, DISPLAY DEVICE, AND PRINTING DEVICE
The entire disclosures of Japanese Patent Applications No. 2007-035340 filed on Feb. 15, 2007 is expressly incorporated by reference herein.
1. Technical Field
The present invention relates to a technique for rendering characters.
2. Related Art
Font data expressing a shape of a character is used to render the character to be presented on a display screen or to be printed on a paper sheet. Font data can be roughly divided into three types, e.g., a bitmap type, outline type, and stroke type. For example, in case of drawing a character using font data of the outline type, there are required three processing steps which are: “contour drawing” for rendering contours (character shape) of a character; “fill-in painting” for rendering the inside of the contours; and “transferring” for transferring bitmap data of the character which is generated by the fill-in painting. A technique for executing these processing steps in parallel and to carry out these processing steps at a high speed is known. For example, JP-UM-A-5-090583 discloses a technique by which a dedicated module perfonns the “contour drawing” and “fill-in painting” while a CPU (Central Processing Unit) perfonns the “transferring”.
According to the technique described in the above publication, a large amount of data is read by the CPU while the CPU performs the “transferring”. Therefore, most of the buses connected to the CPU are occupied by data being transferred. If any module attempts the “contour drawing” and “fill-in painting” during the “transferring”, data required for the “contour drawing” and “fill-in painting” car1r1ot be supplied to the bus. This gives rise to a problem that an increase in the speed of processing camiot be achieved.
The invention has an object of rendering characters at a higher speed.
According to an aspect of the invention, there is provided a character rendering device comprising: an internal storage unit including plural storage areas; a first bus connected through an extemal bus to an external storage unit storing one or more character shape data sets, each of the one or more character shape data sets expressing a shape of a character; a second bus connected to the internal storage unit; a controller that specifies one of the plural storage areas; a first rendering unit connected to the first and second buses, that renders a character shape of a character on a basis of one of the one or more character shape data sets, that is supplied through the extemal bus and the first bus, and writes through the second bus the rendered character shape into one of the plural storage areas specified by the controller; a second rendering unit connected to the second bus, reads through the second bus, each time when writing of a character shape into one of the plural storage areas is completed by the first rendering ur1it, the character shape from one of the plural storage areas, and renders a character on a basis of the read character shape; and a transfer unit that transfers the character rendered by the second rendering ur1it. The character rendering device as described above is capable of rendering characters at a higher speed.
The character rendering device described above can alternatively be configured so that the one or more character shape data sets are one or more outline font data sets, the first rendering unit renders, as a character shape of a character, one or more contours forming a character on a basis of one of the one or more outline font data sets, and the second rendering unit reads one or more contours fonning a character from one of the plural storage areas, and renders the character by painting one or more areas surrounded by the read one or more contours. In this configuration, compatibility can be achieved with the fonnat of font data of a commonly used outline type.
Also, the character rendering device described above can altematively be configured so that the one or more character shape data sets are one or more stroke font data sets, the first rendering unit renders, as a character shape of a character, one or more center lines of one or more strokes fonning a character on a basis of one of the one or more stroke font data sets, and the second rendering unit reads one or more center lines one or more strokes fonning a character from one of the plural storage areas, and renders the character by painting areas extending width-wise across the read one or more center lines. In this configuration, compatibility can be achieved with the fonnat of font data of a commonly used stroke type.
Also, the character rendering device described above can altematively be configured so that the one or more character shape data sets are one or more font data sets, each of the one or more font data sets expressing a shape of an entirety or a part of a character. In this configuration, even a character having a large size can be rendered.
According to another aspect of the invention, there is provided a display device including: any of the character rendering devices described above; and a display unit that displays the character transferred by the transfer unit. The display device as described above is capable of displaying rendered characters on a display screen.
According to still another aspect of the invention, there is provided a printing device including: any of the character rendering devices described above; and a printing unit that prints the characters transferred by the transfer unit. The printing device as described above is capable of printing rendered characters on a paper sheet or the like.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be described with reference to the accompanying drawings, wherein like numbers reference like elements:
FIG. 1 shows a hardware structure of an image display device according to an exemplary embodiment of the invention;
FIG. 2 shows a hardware structure of a font processor;
FIG. 3 illustrates an example of an image displayed by the image display device, including control points according to TTF;
FIG. 4 illustrates contours connecting control points;
FIG. 5 is a table explaining a data structure of an outline data set including control points according to TTF;
FIG. 6 illustrates contours connecting control points;
FIG. 7 illustrates how outlines are formed by contours and are painted inside;
FIG. 8 is a flowchart showing a procedure executed by a CPU;
FIG. 9 is a flowchart showing another procedure executed by the CPU;
FIG. 10 is a flowchart showing a procedure executed by a contour drawing module;