WO2006009228A1 - 表示装置、プログラムおよび記録媒体 - Google Patents

表示装置、プログラムおよび記録媒体 Download PDF

Info

Publication number
WO2006009228A1
WO2006009228A1 PCT/JP2005/013426 JP2005013426W WO2006009228A1 WO 2006009228 A1 WO2006009228 A1 WO 2006009228A1 JP 2005013426 W JP2005013426 W JP 2005013426W WO 2006009228 A1 WO2006009228 A1 WO 2006009228A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
display device
line
pattern
positional relationship
Prior art date
Application number
PCT/JP2005/013426
Other languages
English (en)
French (fr)
Inventor
Noriyuki Koyama
Makoto Sakuta
Osamu Nishida
Original Assignee
Sharp Kabushiki Kaisha
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 Sharp Kabushiki Kaisha filed Critical Sharp Kabushiki Kaisha
Priority to CN2005800246142A priority Critical patent/CN1998024B/zh
Publication of WO2006009228A1 publication Critical patent/WO2006009228A1/ja
Priority to HK07113184.2A priority patent/HK1104864A1/xx

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • 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
    • 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

Definitions

  • the present invention relates to a display device, a program, and a recording medium that include a display device that displays a line and a control unit that controls the display device.
  • a character having a curve can be displayed at high speed on a low-medium-resolution display device.
  • An outline font represents a character with a contour of a closed curve. This outline font is widely used in technology for displaying characters based on vector data.
  • Outline fonts are, for example, TrueType fonts and PostScript fonts.
  • TrueType font curves use quadratic B-spline curves (see Equation 1).
  • Bezier curves are used for PostScript font curves (see Equation 2).
  • a stroke font represents characters with a stroke having no thickness. Like the outline font, this stroke font is widely used in a technique for displaying characters based on vector data. [0004] This font is suitable for displaying characters on a low-medium-resolution display device.
  • this stroke font is displayed on a display device, generally, regardless of whether the line to be expressed is a curve or a straight line, each of a plurality of points is connected by a straight line, whereby a curved line or a straight line is displayed. Can be rendered faster than outline fonts.
  • Patent Document 1 discloses a technique for drawing a straight line connecting two points at high speed.
  • This technique obtains a quotient sequence based on the slope of a straight line.
  • a control number sequence is obtained from the quotient number sequence, and a straight line is drawn at a high speed based on the control number sequence.
  • the quotient sequence ⁇ 2, 1, 1, 3 ⁇ is obtained based on the slope 7Z18 of the straight line.
  • the quotient sequence ⁇ 2, 1, 1, 3 ⁇ force is also the control sequence ⁇ 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0 , 1, 0 ⁇ .
  • Patent Document 1 also discloses that a quotient number sequence and a control number sequence are calculated in advance.
  • Patent Document 2 discloses a technique for drawing a curve at high speed.
  • values related to parameters are calculated and stored in advance, and these values are used when a curve is expressed by a Bezier curve or the like.
  • Patent Document 1 Japanese Patent Laid-Open No. 9-161082
  • Patent Document 2 Japanese Patent Laid-Open No. 1-255076
  • the conventional technique has the following problems. [0012] When an outline font is displayed on a display device with medium to low resolution, the line width varies and the line is crushed, and the character quality is not good.
  • rattling is conspicuous in the curved portion of the character. This is because the stroke font represents the curved portion of the character as a straight line. In particular, rattling becomes more noticeable as the characters become larger.
  • the present invention has been made in view of the above problems, and provides a character graphic display device, a program, and a recording medium capable of drawing a line at high speed and reducing the recording capacity of data indicating the line. With the goal.
  • the display device of the present invention is a display device including a display device that displays a line and a control unit that controls the display device, wherein the control unit is provided with the given first and second points.
  • a first positional relationship between at least one of the first point and the second point and the third point is determined with respect to the second point and the third point, and the at least one line prepared in advance is determined.
  • a pattern of one line corresponding to the determined first positional relationship is selected from among patterns of at least one line passing through the first point and the second point; and In accordance with the selected line pattern, a line passing through the first point and the second point is displayed on the display device, whereby the above object is achieved.
  • the image processing apparatus further includes a holding unit that holds pattern information indicating a correspondence relationship between the first positional relationship and the line pattern, and the selection of the line pattern includes the pattern information held in the holding unit. It may be done with reference to.
  • the first positional relationship is determined in accordance with an angle between a first straight line connecting the first point and the second point and a second straight line connecting the second point and the third point. May be.
  • the control unit has a second position of at least one of the first point and the second point and the fourth point with respect to the first point, the second point, and the fourth point. Determining a relationship, and the control unit selects one line pattern corresponding to the determined second positional relationship from the at least one line pattern, and surrounds the second point. Are assigned a plurality of regions, and the third point and the fourth point are assigned to the same region of the plurality of regions and correspond to the selected first positional relationship. The line pattern and the one line pattern corresponding to the selected second positional relationship may be the same.
  • the first point may be given to the origin, and the second point may be given to the first quadrant.
  • a plurality of areas are allocated around the second point, and the third point is given to one of the plurality of areas, and one area of the plurality of areas
  • the region different from the one region may have a different size.
  • a plurality of regions may be assigned to only a part around the second point, and the third point may be assigned to one of the plurality of regions.
  • a program according to the present invention is a program for causing an information display device provided with a display device for displaying a line to execute a display process, and the display process is provided with a first point, a second point, and a third point.
  • the display device, the program, and the recording medium of the present invention at least one line passing through the first point and the second point without calculating the trajectory of the line passing through the first point and the second point.
  • a line passing through the first point and the second point can be displayed. Therefore, it is possible to display a line passing through the first point and the second point at high speed without having to calculate the trajectory of the line passing through the first point and the second point, which require complicated calculations.
  • a curve connecting the three points is drawn using a table indicating the correspondence between the pattern of the line passing through the first point and the second point and the positional relationship of the three points. Therefore, it is possible to draw a curve only by reading the table, and no complicated calculation occurs. As a result, a line passing through the first point and the second point can be drawn at high speed.
  • angles of the straight line passing through the first point and the second point and the straight line passing through the second point and the third point are classified and tabled. As a result, the capacity can be reduced.
  • FIG. 1 is a diagram showing an example of a curve passing through three points.
  • FIG. 2 is a diagram showing another example of a curve passing through three points.
  • FIG. 3 is a diagram showing still another example of a curve passing through three points.
  • FIG. 4 is a diagram showing yet another example of a curve passing through three points.
  • FIG. 5 is a diagram showing still another example of a curve passing through three points.
  • FIG. 6 is a diagram showing still another example of a curve passing through three points.
  • FIG. 7 is a diagram showing the regions 1 to 28 allocated around the second point.
  • FIG. 8 is a diagram showing a configuration of the character display device 100 according to the embodiment of the present invention.
  • FIG. 9 shows an example of character data 42.
  • FIG. 10 is a diagram showing an example of display of character data 42.
  • FIG. 11 is a diagram showing an example of a straight line table 43.
  • FIG. 12 is a diagram showing an example of a curve table 44.
  • FIG. 13 is a diagram showing values of a control string.
  • FIG. 14 is a flowchart showing a character display processing procedure.
  • FIG. 15 is a flowchart showing a drawing data conversion processing procedure executed in step S104.
  • FIG. 16 is a flowchart showing a straight line drawing process procedure executed in step S203.
  • FIG. 17 is a flowchart showing a curve drawing processing procedure executed in step S204.
  • FIG. 18 is a flowchart showing the first quadrant drawing processing procedure executed in step S409.
  • FIG. 19 is a flowchart showing the second quadrant drawing processing procedure executed in step S410.
  • FIG. 20 is a flowchart showing the third quadrant drawing processing procedure executed in step S411.
  • FIG. 21 is a flowchart showing the fourth quadrant drawing processing procedure executed in step S 412.
  • FIG. 22 is a diagram showing coordinate data, scale data and quantized data.
  • FIG. 23 is a diagram showing a result of rendering based on the quantized data shown in FIG.
  • FIG. 24 is a flowchart showing a table editing process procedure.
  • FIG. 25 is a diagram showing a line pattern after changing display points.
  • FIG. 26 is a diagram showing a curve drawing table after changing display points.
  • FIG 27 is a diagram showing the correspondence between Tan- 1 value and Tan- 1 arguments.
  • FIG. 28 is a diagram showing an example of an area allocated around the second point.
  • the present invention focuses on a curve connecting three points when drawing a curve, and corresponds to a position relationship determined from at least one line pattern passing through the first point and the second point.
  • a holding unit that holds pattern information indicating a correspondence relationship between the positional relationship and the line pattern is further provided, and the selection of the line pattern is performed with reference to the pattern information held in the holding unit.
  • the pattern information is represented by a table, and a curve is drawn based on this table.
  • the pattern information is represented by a table, and a curve is drawn based on these tables. The reason is shown below.
  • the first point is the origin (0, 0).
  • the increase and decrease in the distance in the X direction and the increase and decrease in the distance in the y direction from the first point are assumed to be within ⁇ d.
  • the increase or decrease in the distance in the X direction and the increase or decrease in the distance in the y direction within the force of the second point are within d.
  • the present invention displays the first point of the first curve, the second point, and the first of the second curve even when displaying two different curves (first curve, second curve).
  • FIG. 1 shows an example of a curve passing through three points.
  • This curve passes through the first point (0, 0), the second point (7, 4), and the third point (10, 10).
  • the black points are these three points, the points with many hatches are included in the line passing through the first point and the second point, It is a point included in the line passing through the second point and the third point.
  • a straight line passing through the first point and the second point and a straight line passing through the second point and the third point are shown.
  • FIG. 2 shows another example of a curve passing through three points.
  • FIG. 3 shows yet another example of a curve passing through three points.
  • This curve passes through the first point (0, 0), the second point (7, 4), and the third point (12, 17).
  • the first point (0, 0) and the second point (7, 4) are the same as the first point and the second point in FIG. 2, and the third point (12, 17) is the third point in FIG. This is the upper left point.
  • the angle between the straight line passing through the first point and the second point in FIG. 2 and the straight line passing through the second point and the third point, and the straight line passing through the first point and the second point in FIG. The angle with the straight line passing through the third point is close.
  • FIG. 4 shows still another example of a curve passing through three points.
  • This curve passes through the first point (0, 0), the second point (7, 4), and the third point (14, 16).
  • the first point (0, 0) and the second point (7, 4) are the same as the first point and the second point in FIG. 2, and the third point (14, 16) is the third point in FIG. This is the lower right point.
  • FIG. 5 shows still another example of a curve passing through three points. This curve shows the first point (0, 0), the second point
  • FIG. 6 shows still another example of a curve passing through three points. This curve shows the first point (0, 0), the second point
  • FIG. 7 shows regions 1 to 28 assigned around the second point.
  • Area 1 to area 28 are allocated by dividing the area around the second point into 28 equal parts. The If there is a third point in the same area, the number of combinations of the three points is reduced by making the pattern of the lines passing through the first point and the second point the same. For example, in the first curve, if the third point is at position A in region 1 and the second curve is in region 1 and the third point is at position B different from position A, The pattern of the line passing through the first point and the second point of the 1 curve and the pattern of the line passing through the first point and the second point of the second curve are made the same.
  • Areas 1 to 28 are assigned around the second point, the first point is the origin (0, 0), the second point is (X, Y) (X ⁇ ⁇ d, Y ⁇ ⁇ d: If the increase or decrease in the distance in the X direction and the distance in the y direction from one point is within ⁇ d), the position of the third point is any one of region 1 to region 28. Therefore, there are (2d + 1) 2 X 28 combinations of the three points.
  • the area allocated around the second point is not limited to 28 divisions.
  • the number of divisions is arbitrary. Increasing the number of divisions increases the capacity of the table. It is possible to improve the quality of the power curve. Moreover, it is not limited to equal division. If the angle is shallow, you can divide it with force, and the angle is deep!
  • FIG. 28 shows an example of an area allocated around the second point.
  • FIG. 28 (a) shows a plurality of regions (division mode 1) having different sizes.
  • a plurality of regions 1 to 8 are allocated around the second point.
  • the third point is given to region 2.
  • region 1 and region 4 have different sizes.
  • FIG. 28 (b) shows an area (partition form 2) assigned to only a part around the second point.
  • a plurality of areas 1 to 5 are assigned around the second point. However, no area is allocated to the other parts (shaded areas).
  • the division form around the second point can be selected according to the display target. For example, when displaying kanji, select division form 1. When displaying katakana, select division type 2.
  • the “display target” means a target displayed on the display device. For example, characters (kanji, hiragana, katakana, alphabet, etc.), figures, and symbols.
  • FIG. 8 shows a configuration of the character display device 100 according to the embodiment of the present invention.
  • Character display device 100 may be, for example, a personal computer.
  • the personal computer any type of computer such as a desktop type or a laptop type can be used.
  • the character display device may be a word processor.
  • the character display device may be any information display terminal such as an electronic device or an information device provided with a display device.
  • the character display device may be an electronic device equipped with a liquid crystal display device, a portable information terminal as a form information tool, a mobile phone including a PHS, or a communication device such as a general telephone ZFAX.
  • the character display device 100 includes an input device 10, a display device 30 that displays lines, a control unit 20 that controls the display device 30, and an auxiliary storage device 40.
  • the input device 10 is used to input information representing characters to be displayed on the display device 30 from the control unit 20.
  • the information representing the character includes, for example, a code for recognizing the character and size information indicating the size of the character.
  • any type of input device capable of inputting a code and a size may be used.
  • An input device such as a keyboard, mouse or pen input device may be used.
  • the character display device 100 is a mobile phone, a numeric key for designating the telephone number of the communication destination may be used to enter a code or size. Yes.
  • the character display device 100 has means for connecting to a communication line including the Internet, the message included in the received e-mail may be displayed on the display device 30. In this case, the means for connecting to the communication line functions as the input device 10.
  • the auxiliary storage device 40 stores a character display program 41, and character data 42, a straight line table 43, and a curved table 44 necessary for executing the program.
  • the character display program 41 includes a scaling program 41a for scaling the character data 42 according to the size to be output to the display device, a quantization program 41b for quantizing the scaled result, and the quantized result. And a drawing data conversion program 41c for converting the result quantized so that it can be displayed on the display device into drawing data.
  • auxiliary storage device 40 any type of auxiliary storage device capable of storing the character display program 41, the character data 42, the straight line table 43, and the curve table 44 may be used.
  • any recording medium can be used as a storage medium for storing the character display program 41, the character data 42, the straight line table 43, and the curved table 44.
  • a hard disk, CD-ROM, CD-R, MO, DVD, or IC card can be suitably used.
  • the character display program 41, the character data 42, the straight line table 43, and the curved table 44 are not limited to being stored in a recording medium provided in the auxiliary storage device 40.
  • the character display program 41, the character data 42, the straight line table 43, and the curved table 44 may be stored in the main memory 22 or may be stored in a ROM (not shown).
  • the ROM can be, for example, a mask ROM, EPROM, EEPROM, or flash ROM. When these data are stored in ROM, various processing nominations can be easily realized simply by exchanging the ROM.
  • the ROM can be suitably applied when the character display device is a portable information terminal or a mobile phone.
  • the character display program 41, the character data 42, the straight line table 43, and the curved table 44 are memories that hold the program data fixedly, such as the storage device such as the disk or card or the semiconductor memory. It can be held on a medium. If the character display device has means for connecting to a communication line including the Internet, the communication line At least a part of the character display program 41, character data 42, straight line table 43, and curved table 44 can be downloaded. In this case, a loader program necessary for downloading may be stored in advance in a ROM (not shown), or may be installed in the control unit 20 from the auxiliary storage device 40.
  • the control unit 20 includes a CPU 21 and a main memory 22.
  • the CPU 21 controls and monitors the entire character display device, and also uses the auxiliary storage device 4
  • the character display program 41 stored in 0 is executed.
  • the main memory 22 temporarily stores data input to the input device 10 and data to be displayed on the output device 30 and data necessary to execute the character display program 41.
  • the main memory 22 is controlled by the CPU 21.
  • CPU 21 is a character display program based on various data stored in main memory 22.
  • drawing data is generated.
  • the generated drawing data is stored in the main memory.
  • FIG. 9 shows an example of character data 42.
  • the character data shown in FIG. 9 is vector data of the character “Large” and has a resolution of 256 mesh.
  • the character data shown in FIG. 9 includes a plurality of coordinate data.
  • the line number is a number assigned to a line constituting the character “Large”.
  • X indicates the X coordinate value of the point on the line that constitutes the character “Large”.
  • Y is the point on the line that makes up the letter "Large"
  • the letter “Large” consists of three lines! Each of the three lines has a plurality of coordinate data representing positions.
  • Line Nol connects (8, 184) and (247, 184), and Line No2 is (127, 246), (127, 181), (103, 106), (61, 49) And (11, 14) are connected, and line No. 3 connects (127, 181), (144, 127), (176, 73), (208, 40) and (246, 14).
  • FIG. 10 is an example of display of the character data 42. Specifically, it is the display of the character data shown in FIG.
  • FIG. 11 shows an example of the straight line table 43.
  • the linear table 43 is an auxiliary storage device 40 (See Fig. 8).
  • index indicates a record number of the table
  • (dx, dy) indicates an increase in the x direction and an increase in the y direction from the first point.
  • the increase in the X direction and the increase in the y direction are within 20 forces.
  • the increase in the x direction and the increase in the y direction are not limited to 20 or less.
  • the increase in the X direction and the increase in the y direction are Cte.
  • control string is represented by “0” and “1”.
  • the increment of y when incremented by 1 in the x direction is indicated by “0” and “1”.
  • “0” indicates that the increase in the y direction is 0 if it increases by 1 in the X direction
  • “1” indicates that the increase in the y direction is 1 if it increases by 1 in the X direction. Indicates.
  • control string is ⁇ 0, 1 ⁇ .
  • the increase in the y direction is 0, and if the 1st point force is increased by 1 in the X direction, the increase in the y direction is Indicates 1
  • the pattern of lines represented by this control sequence shows the pattern of lines passing through the first point and the second point.
  • FIG. 12 shows an example of the curve table 44.
  • the curve table 44 is stored in the auxiliary storage device 40 (see FIG. 8).
  • FIG. 13 shows values that the control sequence has.
  • an increase in the X direction and an increase in the y direction are within 15
  • An increase in the x direction and an increase in the y direction are not limited to 15 or less.
  • An increase in the X direction and an increase in the y direction are arbitrary.
  • the distance between two points on the curve of a character is that the range of the increase in the X direction and the increase in the y direction of the curve table is smaller than the range of the increase in the X direction and the increase in the y direction. This is because the distance between two points on a straight line is smaller.
  • the information included in the curve table 44 indicates the correspondence between the positional relationship between the second point and the third point and the line pattern.
  • the curve table 44 is prepared in advance in the auxiliary storage device 40.
  • the line pattern represented by the “control column” included in the curve table 44 is not limited to a curved line.
  • the pattern of lines represented by “control columns” may be a straight line.
  • Such a control sequence is ⁇ 1, 1, 1, 1 ⁇ , for example.
  • the character display device 100 according to the embodiment of the present invention has been described above with reference to FIGS. 1 to 13 and FIG.
  • the display device 30 corresponds to “a display device that displays a line”
  • the control unit 20 has “a control unit that controls the display device” and “given”
  • the auxiliary storage device 40 that stores the straight line table 42 and the curved line table 44 corresponds to the “holding unit that holds pattern information indicating the correspondence between the first positional relationship and the line pattern”.
  • FIGS. 1 to 13 and FIG. 28 is merely an example of the function of the character display device of the present invention. As long as the functions of the respective means described above are achieved, a character display device having an arbitrary configuration can be included in the scope of the present invention.
  • the straight line table 42 and the curved line table 44 may be input to the display device from the outside of the display device.
  • it is directly connected to the holding unit connected to the display device via the network.
  • the straight line table 42 and the curve table 44 are input from the outside of the display device to the display device.
  • each means described above may be realized by hardware, may be realized by software, or may be realized by hardware and software.
  • a program for executing a character display processing procedure (hereinafter referred to as a character display processing program) is stored in the character display device.
  • the character display processing program may be stored in advance in a program storage means included in the character display device when the computer is shipped.
  • the character display processing program may be stored in the program storage means after the computer is shipped.
  • a user may download a specific website website character display processing program for a fee or free of charge, and install the downloaded program on the computer.
  • the character display processing program is recorded on a computer-readable recording medium such as a flexible disk, CD-ROM, or DVD-ROM
  • the character display processing program is input using an input device (for example, a disk drive device). May be installed on the computer.
  • the installed program is stored in the program storage means.
  • the first trajectory of the line passing through the first point and the second point can be obtained by calculation.
  • the line passing through the first point and the second point is selected. Can be displayed. Therefore, it is possible to display the line passing through the first point and the second point at high speed without having to calculate the trajectory of the line passing through the first point and the second point, which require complicated calculations.
  • a curve connecting the three points is drawn using a table indicating the correspondence between the pattern of lines passing through the first point and the second point and the positional relationship between the three points. Therefore, it is possible to draw a curve only by reading the table, and no complicated calculation occurs. As a result, a line passing through the first point and the second point can be drawn at high speed.
  • FIG. 14 shows the character display processing procedure. Character display processing is performed by the CPU 121 executing the character display program 141.
  • Step S101 In accordance with an instruction input from the input device 10, character data representing a specified character is read from the character data 42.
  • the read character data includes a plurality of coordinate data (see FIG. 9).
  • Step S102 The coordinate data included in the read character data is scaled to match the output size.
  • the coordinate data (X, y) is scaled by a predetermined calculation and changed to scaled data (X, Y).
  • the coordinate data (X, y) is scaled by a predetermined calculation and changed to scale data (see Fig. 22).
  • Step S103 The scale key data is quantized and changed to quantized data. For example, there is rounding as a method of quantization.
  • the coordinate data (X, y) (see FIG. 9) is scaled by a predetermined calculation and further quantized to be converted into quantized data (see FIG. 22).
  • the quantization method is not limited to rounding. Another method of quantization is disclosed in the present application and the application filed by the same applicant (Japanese Patent Application No. 2003-137918). The disclosed method includes a method for suppressing the quantization error.
  • Step S104 Referring to the straight line table 43 and the curve table 44, the quantized data drawing data is obtained.
  • Step S 105 An image is displayed on the display device 30 based on the drawing data.
  • FIG. 15 shows the drawing data conversion processing procedure executed in step S 104.
  • Step S201 Quantized data is extracted. For example, in the case of the character “Large”, the quantized data corresponding to the called line number is extracted (see FIG. 22). First, line No. 1 is called and the corresponding quantized data ((1, 25), (34, 25)) is retrieved. Next, line No. 2 is called, and the corresponding quantized data ((17, 34), (17, 25), (14, 15), (8, 7), (2, 2)) is extracted. Finally, line No. 3 is called and the corresponding quantized data ((17, 25), (20, 17), (24, 10), (29, 5), (34, 2)) is retrieved. Is done.
  • Step S202 It is determined whether or not the quantized data corresponding to the called line number includes three or more coordinate points.
  • step S20 If it is determined that three or more coordinate points are included (Yes), the process proceeds to step S20.
  • step S203 If it is determined that three or more coordinate points are not included (No), the process proceeds to step S203.
  • Step S203 Drawing data is obtained so that the line indicated by the called line number is drawn as a straight line.
  • drawing data is obtained from the quantized data.
  • Step S204 Drawing data is obtained so that the line indicated by the called line number is drawn with a curve.
  • drawing data is obtained from the quantized data.
  • Step S205 It is determined whether there is a line to be called.
  • step S201 If it is determined that there is a line to be called (Yes), the process proceeds to step S201. If it is determined that there is no line to call (No), the process ends.
  • FIG. 16 shows the straight line drawing processing procedure executed in step S203.
  • Step S301 The next value of the given two coordinate points (X, y), (X, y) is obtained. dx
  • variable indicating the drawing position is represented by (X, y)
  • X ⁇ and y ⁇ yi indicate processing for setting the first point as the drawing start position.
  • Step S302 The first point (X, y) is converted into drawing data.
  • Step S303 A control string is acquired from the straight line table 43. Access to the linear table is performed by the following calculation.
  • the table range is n
  • the ((n + 1) Xdy + dx + 1) th control column in the straight line table 43 is acquired.
  • the table range is set to 20, so ((20
  • Step S304 Determine which of x and X is greater.
  • Step S305 The value “1” is set to the variable incx.
  • the variable incx controls the increase or decrease in the x direction.
  • Step S306 The value “one 1” is set in the variable incx.
  • the variable incx controls the increase or decrease in the x direction.
  • Step S307 Determine which of y and y is greater.
  • step S308 If it is determined that the V force is greater than or equal to (Yes), the process proceeds to step S308. y
  • Step S308 The value “1” is set in the variable incy.
  • the variable incy controls the increase and decrease in the y direction.
  • Step S309 The value “—1” is set to the variable incy. Variable incy controls the increase or decrease in the y direction
  • Step S310 It is determined which of dx and dy is larger! /.
  • step S311 If it is determined that dx is greater than or equal to dy (Yes), the process proceeds to step S311. If it is determined that dx is smaller than dy (No), the process proceeds to step S314.
  • Step S311 It is determined whether or not the control sequence ends. If it is determined that the control sequence is complete (Yes), the process ends. If it is determined that the control string is not the end ( If No, the process proceeds to step S312.
  • Step S313 (x + incx) and (y + incyX Ay) are converted into drawing data. Specifically, a point (x + incx, y + incyX Ay) is plotted. Thereafter, the process proceeds to step S311.
  • Step S314 It is determined whether or not the control sequence ends. If it is determined that the control sequence is complete (Yes), the process ends. If it is determined that the control string is not the end (
  • Step S316 (x + incx X ⁇ ) and (y + incy) are converted into drawing data. Specifically, a point (x + incx X ⁇ , y + incy) is plotted. Thereafter, the process proceeds to step S314.
  • FIG. 17 shows a curve drawing process procedure executed in step S204.
  • Step S401 Three points are extracted from the given coordinate points. For example, if the given coordinate point is a force point ((a, b), (a, b), (a, b), (a, b), (a, b;)), the first call
  • Step S402 The next value of the three extracted coordinate points (x, y), (x, y), (x, y)
  • Step S403 Of the three extracted points, the first point (x, y) is converted into drawing data.
  • Step S404 The angular force between the straight line passing through the first point and the second point and the straight line passing through the second point and the third point is also obtained as an angle pattern.
  • the function round (t) indicates rounding off of t.
  • the calculation of tan- 1 is a complicated process. In the case of the present invention, the accuracy requirement is not high because it can be applied to any of the angle patterns divided into 28 finally. Therefore, it is also possible to speed up the calculation of tan- 1 using a table that categorizes the tan- 1 argument into several patterns.
  • step S401 to step S404 by executing step S401 to step S404, the first point, the second point, and the third point are assigned to the first point. The positional relationship between at least one of the point and the second point and the third point is determined.
  • Step S405 Obtain (select) a control string from the curve table 44.
  • the curve table is accessed by the following calculation.
  • the table range is n
  • the number of divisions is t
  • the angle pattern is a
  • the ((n + 1) XtXdy + tXdx + a) -th control column in the curve table 44 is acquired.
  • the range of the table is 15, and the number of divisions is 28. Therefore, the ((15 + 1) X28Xdy + 28Xdx + a) th control column is acquired.
  • step S405 As described with reference to step S405, by executing step S405, a curve including information indicating the correspondence between the positional relationship between the second point and the third point and the line pattern is included. From the table 44, a control column indicating a desired line pattern is selected.
  • Step S406 Determine which of x and X is greater.
  • Step S407 Determine which of y and y is greater.
  • step S409 If it is determined that the V force is greater than or equal to (Yes), the process proceeds to step S409. y
  • step S410 If it is determined that the force is less than 2 1 2 (No), the process proceeds to step S410.
  • Step S408 Determine which of y and y is greater.
  • step S411 If it is determined that the V force is greater than or equal to (Yes), the process proceeds to step S411. y
  • Step S410 Drawing the second quadrant when the second point is in the second quadrant when the first point is the origin.
  • Step S411 When the first point is set as the origin, the third quadrant is drawn when the second point is in the third quadrant.
  • Step S412 When the first point is the origin, the fourth quadrant is drawn when the second point is in the fourth quadrant.
  • Step S413 It is determined whether the flag is set. If it is determined that the flag is set (Yes), the process ends. If it is determined that the flag is not set (No), the process proceeds to step S414.
  • Step S414 It is determined whether or not the three points acquired by executing step S401 are the last three points.
  • the coordinate points given to the curve drawing processing are (a, b), (a, b), (a, b), (a, b), (a, b), (a, b
  • step S401 the 3 points extracted in step S401 are the last 3 points (
  • Step S415 Set a flag and set 3 points in reverse.
  • the point (a, b) and the point (a, b) are swapped, and the last interval is drawn.
  • the force obtained by reversing the last three points "Process of step 414" is changed to "Process of determining whether or not the three acquired points are before the middle of the line". It may be changed. In this case, if it is determined that the three acquired points are before the middle, three points are extracted in order from the first point (see step S401), and the three acquired points are from the middle. If it is determined that the previous point is not, 3 points are taken out in reverse order as well.
  • FIG. 27 shows the correspondence between Tan- 1 value and Tan- 1 arguments.
  • the value of tan— 1 is an angle (in degrees), and the argument of tan— 1 is dyZdx.
  • the angle ⁇ is indicated by (noX360) Z56.
  • FIG. 1 shows curves through (0, 0), (7, 4), and (10, 10).
  • the value of no is 4.
  • (4-0) / (7-0) 0.571.
  • the value of no is 9.
  • (10-4) Z (10-7) 2 Power.
  • FIG. 2 shows curves passing through (0, 0), (7, 4), and (13, 16).
  • the value of no is 9. (16-4)
  • Z (13-7) 2
  • FIG. 3 shows curves passing through (0, 0), (7, 4), and (12, 17).
  • FIG. 4 shows curves passing through (0, 0), (7, 4), and (14, 16).
  • the value of no is 15. (14-4)
  • Z (6-7) -1
  • the angle pattern can be obtained without calculating a complicated trigonometric function.
  • FIG. 18 shows the first quadrant drawing processing procedure executed in step S409.
  • Step S501 It is determined whether or not the control string acquired in step S405 is over.
  • step S502 If it is determined that the control sequence is complete (Yes), the process ends. If it is determined that it is not the end (No), the process proceeds to step S502.
  • Step S502 The process branches depending on the value of the control string (values “0” to “7”: see FIG. 13).
  • step S503 If the control value is “1”, the process proceeds to step S504. If the control value is “2”, the process proceeds to step S505. If the control value is “3”, the process proceeds to step S506. If the control value is “4”, the process proceeds to step S507. If the control value is “5”, the process proceeds to step S508. If the control value is “6”, the process proceeds to step S509. If it is the control value “7”, the process proceeds to step S510.
  • Step S503 Control the value in the x direction Increase the value of X by one. The process proceeds to step S511.
  • Step S504 The value of X that controls the value in the x direction is increased by 1, and the value of y that controls the value in the y direction is increased by 1. The process proceeds to step S511.
  • Step S505 Control the value in the y direction Increase the y value by one. The process proceeds to step S511.
  • Step S506 Decrease the value of X that controls the value in the x direction by 1, and increase the value of y that controls the value in the y direction by 1. The process proceeds to step S511.
  • Step S507 Control the value in the x direction Decrease the X value by one. The process proceeds to step S511.
  • Step S508 Decrease the value of X that controls the value in the x direction by 1, and decrease the value of y that controls the value in the y direction by 1. The process proceeds to step S511.
  • Step S509 Control the value in the y direction Decrease the y value by one. The process proceeds to step S511.
  • Step S510 The value of X that controls the value in the x direction is incremented by 1, and the value of y that controls the value in the y direction is incremented by 1. The process proceeds to step S511.
  • Step S511 The point (x, y) calculated in steps S503 to S510 is converted into drawing data. For example, plot the point (X, y).
  • FIG. 19 shows the second quadrant drawing processing procedure executed in step S410.
  • the second quadrant is y-axis symmetric with respect to the first quadrant. Therefore, the first quadrant drawing process
  • step S601 to step S611 is omitted.
  • FIG. 20 shows the third quadrant drawing processing procedure executed in step S411.
  • the third quadrant is symmetric with respect to the first quadrant. Therefore, the difference in the processing procedure from the first quadrant drawing processing procedure (see FIG. 18) is that the increase / decrease in X and the increase / decrease in y according to the control values are respectively reversed. Description of step S711 is omitted.
  • FIG. 21 shows the fourth quadrant drawing processing procedure executed in step S412.
  • the fourth quadrant is X-axis symmetric with respect to the first quadrant. Therefore, the first quadrant drawing process
  • step S801 to step S811 is omitted.
  • FIG. 22 shows coordinate data, scale data, and quantized data.
  • FIG. 23 shows the result of rendering based on the quantized data shown in FIG.
  • FIG. 24 shows a table editing process procedure.
  • FIG. 25 shows the line pattern after changing the display point.
  • FIG. 26 shows the curve drawing table after the display point is changed.
  • Step S901 A control sequence passing through three points is called up, and a line pattern is displayed on the edit screen.
  • the line pattern displayed on the editing screen is shown in FIG.
  • a pattern of lines passing through two points is displayed on the editing screen!
  • Step S902 The displayed line pattern is changed while viewing the screen. For example, the line pattern shown in FIG. 1 is edited to the line pattern shown in FIG.
  • Step S903 Of the changed line patterns, only the line pattern passing through the first point and the second point is shown in the control sequence, and the table is rewritten. 199 0th control column ⁇ 0, 0, 1, 0, 1, 1, 1 ⁇ in the curve table shown in Fig. 12 1990th control column ⁇ 0, 1, 0 in the curve table shown in force 26 , 1, 0, 1, 1 ⁇ .
  • Steps S401 to S404 are "the first point and the second point with respect to the given first point, second point and third point.”
  • Step S405 corresponds to “a step of determining a first positional relationship between at least one of the first point and the third point”.
  • Steps S409 to S412 correspond to ⁇ Step of selecting one line pattern corresponding to the determined first positional relationship from at least one line pattern passing through the point ''. Displaying a line passing through the first point and the second point on the display device according to the line pattern. ".
  • the examples of FIGS. 14 to 21 and FIG. 24 merely show an example of the display procedure of the present invention. As long as each step mentioned above is performed, the display procedure which has arbitrary steps may be included in the scope of the present invention.
  • the pattern of at least one line passing through the first point and the second point is obtained without calculating the trajectory of the line passing through the first point and the second point.
  • a line passing through the first point and the second point can be displayed by selecting a pattern of one line corresponding to the determined positional relationship. Therefore, a line passing through the first point and the second point, which does not need to calculate the trajectory of the line passing through the first point and the second point, which requires complicated calculations, can be displayed at high speed.
  • the present invention is not limited to this.
  • the present invention can also be applied to the case where a graphic is displayed instead of or in place of a character.
  • a graphic display program is used instead of the character display program 41 or in addition to the character display program 41, and graphic data is used instead of the character data 42 or in addition to the character data 42. You should do so.
  • the graphic display program can also include the same steps as the character display program 41.
  • the graphic includes, for example, a part of a character, a pattern, a symbol, and the like.
  • At least one line passing through the first point and the second point without calculating the trajectory of the line passing through the first point and the second point at least one line passing through the first point and the second point without calculating the trajectory of the line passing through the first point and the second point.
  • Select one line pattern corresponding to the determined positional relationship from among the patterns. Can display a line that passes through the first and second points. Therefore, it is possible to display a line passing through the first point and the second point at high speed without having to calculate the trajectory of the line passing through the first point and the second point, which require complicated calculations.
  • a curve connecting the three points is drawn using a table indicating the correspondence between the pattern of lines passing through the first point and the second point and the positional relationship between the three points. Therefore, it is possible to draw a curve only by reading the table, and no complicated calculation occurs. As a result, a line passing through the first point and the second point can be drawn at high speed.
  • angles of the straight line passing through the first point and the second point and the straight line passing through the second point and the third point are classified and tabled. As a result, the capacity can be reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

 本発明の表示装置は、線を表示する表示デバイスと、前記表示デバイスを制御する制御部とを備え、制御部が、与えられた第1点、第2点および第3点に対して、前記第1点および前記第2点のうちの少なくとも一方と前記第3点との第1の位置関係を決定し、予め用意された少なくとも1つの線のパターンであって、前記第1点と前記第2点とを通る少なくとも1つの線のパターンの中から、前記決定された第1の位置関係に対応する1つの線のパターンを選択し、前記選択された線のパターンに応じて、前記第1点と前記第2点とを通る線を前記表示デバイスに表示する。

Description

明 細 書
表示装置、プログラムおよび記録媒体
技術分野
[0001] 本発明は、線を表示する表示デバイスと、表示デバイスを制御する制御部とを備え た表示装置、プログラムおよび記録媒体に関する。本発明によって、例えば、低中解 像度の表示装置に曲線を有する文字を高速で表示できる。
背景技術
[0002] アウトラインフォントは、閉曲線の輪郭で文字を表す。このアウトラインフォントは、ベ タトルデータに基づ 、て文字を表示する技術に広く用いられて 、る。アウトラインフォ ントは、例えば、 TrueTypeフォントおよび PostScriptフォントである。 TrueTypeフ オントの曲線では、 2次の B—スプライン曲線が使用される(式 1参照)。 PostScriptフ オントの曲線では、ベジエ曲線が使用される(式 2参照)。
〔式 1〕
x=(l-t)2x +2t(l-t)x +t2x
1 2 3
y=(l-t) y +2t(l-t)y +ty
1 2 3
0≤t≤l
〔式 2〕
x=(l— t)3x +3(1— t)2tx +3(1— t)t2x +t3x
1 2 3 4
y=(l-t)2y +3t(l-t)2ty +3(l—t)t2y +t3y
1 2 3 4
0≤t≤l
高解像度の表示装置に文字を表示する場合に、これらのフォントは適している。特 に、文字を紙に印刷する場合に、これらのフォントは好適である。なお、式 1および式 2で表される曲線は、曲線の両端 (始点と終点)は通るが、始点と終点との間の点 (制 御点)は通らない。
[0003] ストロークフォントは、厚みを持たないストロークで文字を表す。このストロークフォン トは、アウトラインフォントと同様に、ベクトルデータに基づいて文字を表示する技術に 広く用いられている。 [0004] 低中解像度の表示装置に文字を表示する場合に、このフォントは適している。この ストロークフォントを表示装置に表示する際には、一般的に、表現すべき線が曲線で あるか直線であるかを問わず、複数の点の各々を直線で結ぶことによって、曲線また は直線を表現するため、アウトラインフォントに比べて高速に描画できる。
[0005] 特許文献 1は、 2点を結ぶ直線を高速に描画する技術を開示する。
[0006] この技術は、直線の傾きに基づ 、て商数列を求める。次に、商数列から制御数列 を求め、制御数列に基づいて、直線を高速で描画する。
[0007] 例えば、直線の傾き 7Z18に基づいて商数列 {2, 1, 1, 3}を求める。次に、商数 列 {2, 1, 1, 3}力も制御数列 { 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0}を求める。直線の描画位置を X方向に増加する際に、制御行列の値が「1」である 場合には、 yの値を増加して直線を描画し、制御行列の値が「0」である場合には、 y の値を増加せずに、直線を描画する。
[0008] 特許文献 1には、商数列および制御数列を予め計算しておくことも開示されている
[0009] 特許文献 2は、曲線を高速に描画する技術を開示する。この技術は、媒介変数に 関する値を予め計算し、記憶しておき、曲線をベジエ曲線等で表現する際に、これら の値を用いる。
[0010] 例えば、式 2で媒介変数 tを 1024分割した場合、 tのとりうる値は(0, 1/1024, 2 /1024. 3/1024, · ··, 1023/1024, 1024/1024)となる。ここで、 tの値と t3の 値との関係および tの値と 3 (1— t) t2の値との関係を予め計算し、これらの関係をテ 一ブル化しておく。また(l—t) 3および 3t ( l—t) 2の計算は、 t3の値、 3 ( l—t) t2の値 を利用する。このように、特許文献 2に開示の技術によれば、高速に、式 2で示される 計算を処理できる。
特許文献 1 :特開平 9— 161082号公報
特許文献 2:特開平 1― 255076号公報
発明の開示
発明が解決しょうとする課題
[0011] しかし、従来の技術には、以下に示す問題点がある。 [0012] 中低解像度の表示装置にアウトラインフォントを表示する場合には、線幅のばらつ きおよび線の潰れが発生しやすぐ文字の品位がよくない。
[0013] 特許文献 2の技術では、複数の点の各々を描画するたびに浮動小数点演算を伴つ た計算が発生し、表示の高速ィ匕に限界がある。一般に、 CPUの浮動小数点演算は
、 CPUの整数演算より遅い。
[0014] 表示装置にストロークフォントを表示する場合には、文字の曲線部分にガタツキが 目立つ。ストロークフォントは、文字の曲線部分を直線で表すからである。特に、文字 を大きくしていくと、ガタツキが顕著になる。
[0015] 文字の曲線部分を 2次の B—スプライン曲線またはベジヱ曲線で表現することでは
、厚みのないストロークフォントをデザインすることが難しい。線が曲線の両端の間の 制御点を通らないからである。制御点をすベて通る曲線補間として、 3次スプラインを 利用した曲線補間がある。しかし、この補間は、端点に対して制約条件を設ける必要 があり、条件付けが難しいという問題がある。また高速ィ匕が難しいという問題もある。
[0016] 本発明は、上記問題点に鑑みてなされたものであり、高速に線を描画でき、かつ線 を示すデータの記録容量を少なくできる文字図形表示装置、プログラムおよび記録 媒体を提供することを目的とする。
課題を解決するための手段
[0017] 本発明の表示装置は、線を表示する表示デバイスと、前記表示デバイスを制御す る制御部とを備えた表示装置であって、前記制御部は、与えられた第 1点、第 2点お よび第 3点に対して、前記第 1点および前記第 2点のうちの少なくとも一方と前記第 3 点との第 1の位置関係を決定し、予め用意された少なくとも 1つの線のパターンであつ て、前記第 1点と前記第 2点とを通る少なくとも 1つの線のパターンの中から、前記決 定された第 1の位置関係に対応する 1つの線のパターンを選択し、前記選択された 線のパターンに応じて、前記第 1点と前記第 2点とを通る線を前記表示デバイスに表 示し、これにより、上記目的が達成される。
[0018] 前記第 1の位置関係と前記線のパターンとの対応関係を示すパターン情報を保持 する保持部をさらに備え、前記線のパターンの選択は、前記保持部に保持されてい る前記パターン情報を参照して行われてもよ 、。 [0019] 前記第 1の位置関係は、前記第 1点と前記第 2点とを結ぶ第 1直線と前記第 2点と 前記第 3点とを結ぶ第 2直線との角度に応じて決定されてもよい。
[0020] 前記制御部は、前記第 1点、前記第 2点および第 4点に対して、前記第 1点および 前記第 2点のうちの少なくとも一方と前記第 4点との第 2の位置関係を決定し、前記制 御部は、前記少なくとも 1つの線のパターンの中から、前記決定された第 2の位置関 係に対応する 1つの線のパターンを選択し、前記第 2点の周囲には、複数の領域が 割り当てられ、前記第 3点と前記第 4点とは、前記複数の領域のうちの同じ領域に与 えられ、前記選択された第 1の位置関係に対応する 1つの線のパターンと前記選択さ れた第 2の位置関係に対応する 1つの線のパターンとは、同じでよい。
[0021] 前記第 1点は原点に与えられ、前記第 2点は第 1象限に与えられてもよい。
[0022] 前記第 2点の周囲には、複数の領域が割り当てられ、前記第 3点は、前記複数の領 域のうちの 1つに与えられ、前記複数の領域のうちの 1つの領域と、前記 1つの領域と は異なる領域とは、異なった大きさを有してもよい。
[0023] 前記第 2点の周囲の一部のみに、複数の領域が割り当てられ、前記第 3点は、前記 複数の領域のうちの 1つに与えられてもよい。
[0024] 本発明のプログラムは、線を表示する表示デバイスを備えた情報表示装置に表示 処理を実行させるプログラムであって、前記表示処理は、与えられた第 1点、第 2点 および第 3点に対して、前記第 1点および前記第 2点のうちの少なくとも一方と前記第 3点との第 1の位置関係を決定するステップと、予め用意された少なくとも 1つの線の パターンであって、前記第 1点と前記第 2点とを通る少なくとも 1つの線のパターンの 中から、前記決定された第 1の位置関係に対応する 1つの線のパターンを選択するス テツプと、前記選択された線のパターンに応じて、前記第 1点と前記第 2点とを通る線 を前記表示デバイスに表示するステップとを包含し、これにより、上記目的が達成さ れる。
[0025] 本発明の記録媒体は、線を表示する表示デバイスを備えた情報表示装置によって 読み取り可能な記録媒体であって、前記記録媒体は、前記情報表示装置に表示処 理を実行させるプログラムを記録し、前記表示処理は、与えられた第 1点、第 2点およ び第 3点に対して、前記第 1点および前記第 2点のうちの少なくとも一方と前記第 3点 との第 1の位置関係を決定するステップと、予め用意された少なくとも 1つの線のパタ ーンであって、前記第 1点と前記第 2点とを通る少なくとも 1つの線のパターンの中か ら、前記決定された第 1の位置関係に対応する 1つの線のパターンを選択するステツ プと、前記選択された線のパターンに応じて、前記第 1点と前記第 2点とを通る線を 前記表示デバイスに表示するステップとを包含し、これにより、上記目的が達成され る。
発明の効果
[0026] 本発明の表示装置、プログラムおよび記録媒体によれば、第 1点と第 2点とを通る 線の軌道を計算によって求めることなぐ第 1点と第 2点とを通る少なくとも 1つの線の パターンの中から、決定された位置関係に対応する 1つの線のパターンを選択するこ とによって、第 1点と第 2点とを通る線を表示できる。したがって、複雑な計算が必要と される第 1点と第 2点とを通る線の軌道の計算を行う必要がなぐ第 1点と第 2点とを通 る線を高速に表示できる。
[0027] 本発明では、第 1点と第 2点とを通る線のパターンと 3点の位置関係との対応を示す テーブルを利用して、 3点を結ぶ曲線を描画する。したがって、テーブルの読み出し のみで曲線の描画が可能となり、複雑な演算が発生しない。その結果、第 1点と第 2 点とを通る線を高速に描画できる。
[0028] さらに、第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直線との角度を分類し 、テーブルィ匕する。その結果、容量を少なくできる。
[0029] さらに、第 2点が第 1象限にある場合のみ、第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直線の角度の分類とテーブルィ匕とを行う。したがって、 3点の位置の組み 合わせを減らすことができる。その結果、さらに容量を少なくできる。
図面の簡単な説明
[0030] [図 1]図 1は 3点を通る曲線の一例を示す図である。
[図 2]図 2は 3点を通る曲線の別の一例を示す図である。
[図 3]図 3は 3点を通る曲線の更に別の一例を示す図である。
[図 4]図 4は 3点を通る曲線の更に別の一例を示す図である。
[図 5]図 5は 3点を通る曲線の更に別の一例を示す図である。 [図 6]図 6は 3点を通る曲線の更に別の一例を示す図である。
圆 7]図 7は第 2点の周囲に割り当てられた領域 1〜領域 28を示す図である。
圆 8]図 8は本発明の実施の形態の文字表示装置 100の構成を示す図である。
[図 9]図 9は文字データ 42の一例を示す図である。
[図 10]図 10は文字データ 42の表示の一例を示す図である。
[図 11]図 11は直線テーブル 43の一例を示す図である。
[図 12]図 12は曲線テーブル 44の一例を示す図である。
[図 13]図 13は制御列が有する値を示す図である。
[図 14]図 14は文字表示処理手順を示すフローチャートである。
[図 15]図 15はステップ S 104で実行される描画データ化処理手順を示すフローチヤ ートである。
[図 16]図 16はステップ S203で実行される直線描画処理手順を示すフローチャート である。
[図 17]図 17はステップ S204で実行される曲線描画処理手順を示すフローチャート である。
[図 18]図 18はステップ S409で実行される第 1象限描画処理手順を示すフローチヤ ートである。
[図 19]図 19はステップ S410で実行される第 2象限描画処理手順を示すフローチヤ ートである。
[図 20]図 20はステップ S411で実行される第 3象限描画処理手順を示すフローチヤ ートである。
[図 21]図 21はステップ S412で実行される第 4象限描画処理手順を示すフローチヤ ートである。
[図 22]図 22は座標データ、スケールィ匕データおよび量子化データを示す図である。
[図 23]図 23は図 22に示された量子化データに基づいて描画した結果を示す図であ る。
[図 24]図 24はテーブルの編集処理手順を示すフローチャートである。
[図 25]図 25は表示点を変更した後の線のパターンを示す図である。 [図 26]図 26は表示点を変更した後の曲線描画テーブルを示す図である。
[図 27]図 27は tan—1の値と tan—1の引数との対応を示す図である。
[図 28]図 28は第 2点の周囲に割り当てられた領域の一例を示す図である。
符号の説明
[0031] 10 入力デバイス
20 制御部
21 CPU
22 主メモリ
30 表示デバイス
40 補助記憶装置
41 文字表示プログラム
42 文字データ
43 直線テーブル
44 曲線テーブル
100 文字表示装置 1
発明を実施するための最良の形態
[0032] 1.本発明の原理
以下、図を参照して、本発明の原理を説明する。
[0033] 本発明は、曲線を描画する際に、 3点を結ぶ曲線に注目し、第 1点と第 2点とを通る 少なくとも 1つの線のパターンの中から、決定された位置関係に対応する 1つの線の ノターンを選択することによって、第 1点と第 2点とを通る線を表示できる。第 1点と第 2点とを通る線の軌跡を計算することなぐ第 1点と第 2点とを通る線のノターンを選択 することによって、第 1点と第 2点とを通る線を高速で表示できる。
[0034] また、位置関係と線のパターンとの対応関係を示すパターン情報を保持する保持 部をさらに備え、線のパターンの選択は、保持部に保持されているパターン情報を参 照して行う。パターン情報をテーブルで表し、このテーブルに基づいて曲線を描画す る。
[0035] パターン情報をテーブルで表し、これらのテーブルに基づいて曲線を描画する理 由を以下に示す。
[0036] 第 1点は、原点 (0, 0)とする。第 2点は、第 1点からの X方向の距離の増減および y 方向の距離の増減が ±d以内であるとする。第 3点は、第 2点力もの X方向の距離の 増減および y方向の距離の増減が士 d以内であるとする。
[0037] これらの場合には、第 1点と第 2点との組み合わせは(2d+ 1) X (2d+ 1)通りであ る。第 2点と第 3点の組み合わせも(2d+ l) X (2d+ l)通りである。したがって、 3点 の組み合わせは、(2d+ l) 4通りである。このように、 3点の位置の組み合わせは、 d に応じて劇的に増加する。例えば、 d= 5である場合には、 14, 641通りである力 d = 10である場合【こ ίま、 194481通りであり、 d= 20である場合【こ ίま、 2825761通りで ある。文字表示装置に格納可能なデータの容量には限界があるため、 3点の位置の 組み合わせが多い場合には、これらの組み合わせをテーブルで表し、これらのテー ブルを文字表示装置に格納することは、困難である。
[0038] 上述のように、本発明は、 2つの異なった曲線 (第 1曲線、第 2曲線)を表示する場合 でも、第 1曲線の第 1点および第 2点と第 2曲線の第 1点および第 2点とが同じであり、 第 1曲線の第 1点と第 2点とを通る直線と第 1曲線の第 2点と第 3点とを通る直線との 角度と、第 2曲線の第 1点と第 2点とを通る直線と第 2曲線の第 2点と第 3点とを通る直 線との角度とが所定の値より近い場合には、第 1点と第 2点とを通る線のパターンは、 同じパターンにしても、第 1曲線と第 2曲線とを観る者には違和感がないことに着目す る。
[0039] 図 1は、 3点を通る曲線の一例を示す。
[0040] この曲線は、第 1点(0, 0)、第 2点(7, 4)、第 3点(10, 10)を通る。図 1において、 黒塗りの点は、これらの 3点であり、ハッチの多い点は、第 1点と第 2点とを通る線に含 まれる点であり、ノ、ツチの少ない点は、第 2点と第 3点とを通る線に含まれる点である。 また第 1点と第 2点とを通る直線と、第 2点と第 3点とを通る直線とが示されている。
[0041] 図 2は、 3点を通る曲線の別の一例を示す。
[0042] この曲線は、第 1点 (0, 0)、第 2点(7, 4)、第 3点(13, 16)を通る。第 1点 (0, 0) および第 2点(7, 4)は、図 1の第 1点および第 2点と同じであり、第 3点(13, 16)は、 図 1の第 2点と第 3点とを通る直線の延長上の点である。 [0043] 図 1の線のパターンと図 2の線のパターンとを比較した場合、第 2点と第 3点とを通る 線のパターンは異なる力 第 1点と第 2点とを通る線のパターンは同じである。
[0044] 図 3は、 3点を通る曲線の更に別の一例を示す。
[0045] この曲線は、第 1点 (0, 0)、第 2点(7, 4)、第 3点(12, 17)を通る。第 1点 (0, 0) および第 2点(7, 4)は、図 2の第 1点および第 2点と同じであり、第 3点(12, 17)は、 図 2の第 3点の左上の点である。図 2の第 1点と第 2点とを通る直線と第 2点と第 3点と を通る直線との角度と、図 3の第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直 線との角度は、近くなつている。
[0046] 図 2の線のパターンと図 3の線のパターンとを比較した場合、第 2点と第 3点とを通る 線のパターンは異なる力 第 1点と第 2点とを通る線のパターンは同じである。
[0047] 図 4は、 3点を通る曲線の更に別の一例を示す。
[0048] この曲線は、第 1点 (0, 0)、第 2点(7, 4)、第 3点(14, 16)を通る。第 1点 (0, 0) および第 2点(7, 4)は、図 2の第 1点および第 2点と同じであり、第 3点(14, 16)は、 図 2の第 3点の右下の点である。
[0049] 図 2の線のパターンと図 4の線のパターンとを比較した場合、第 2点と第 3点とを通る 線のパターンは異なる力 第 1点と第 2点とを通る線のパターンは同じである。
[0050] 図 1〜図 4を参照して説明したように、異なった曲線を描画する場合に第 1点と第 2 点とを通る線のパターンを同じにしても、曲線を観る者には違和感が生じない。
[0051] 図 5は、 3点を通る曲線の更に別の一例を示す。この曲線は、第 1点(0, 0)、第 2点
(7, 4)、第 3点(5, 12)を通る。
[0052] 図 6は、 3点を通る曲線の更に別の一例を示す。この曲線は、第 1点(0, 0)、第 2点
(7, 4)、第 3点(14, 6)を通る。
[0053] 図 5および図 6で示された第 1点(0, 0)、第 2点(7, 4)は、図 1〜図 4で示された第
1点、第 2点と同じであるが、第 1点と第 2点とを通る直線と、第 2点と第 3点とを通る直 線の角度が図 1〜図 4で示された角度と大きく異なっており、第 1点と第 2点とを通る 線の軌跡は図 1〜図 4と異なる。
[0054] 図 7は、第 2点の周囲に割り当てられた領域 1〜領域 28を示す。
[0055] 領域 1〜領域 28は、第 2点の周囲の領域を 28等分割することによって割り当てられ る。同じ領域に第 3点がある場合には、第 1点と第 2点とを通る線のパターンを同じに することで、 3点の組み合わせを少なくする。例えば、第 1曲線では、第 3点が領域 1 内の位置 Aにあり、第 2曲線では、第 3点が領域 1内であって、位置 Aとは異なる位置 Bにある場合には、第 1曲線の第 1点と第 2点とを通る線のパターンと第 2曲線の第 1 点と第 2点とを通る線のパターンとを同じにする。
[0056] 第 2点の周囲に領域 1〜領域 28が割り当てられ、第 1点が原点 (0, 0)、第 2点が (X , Y) (X≤±d、 Y≤±d:第 1点からの X方向の距離および y方向の距離の増減が ±d 以内)である場合には、第 3点の位置は、領域 1〜領域 28の何れかである。したがつ て、 3点の組み合わせは、(2d+ l) 2 X 28通りである。
[0057] さらに、第 2点が第 1象限にある場合のみ、位置関係と線のパターンとの対応関係 を示すテーブルを生成し、第 2点が第 1象限以外の象限にある場合、このテーブルを 利用して位置関係と線のパターンとの対応関係を求めることによって、テーブルの数 を減らすことが可能である。
[0058] 第 2点が第 1象限にある場合のみ、第 1点と第 2点とを通る直線と第 2点と第 3点とを 通る直線との角度と第 1点と第 2点とを通る曲線のパターンとの対応関係をテーブル で表す。第 2点が第 2象限にある場合は y軸に対する対称性を考慮し、第 2点が第 3 象限にある場合は原点に対する対称性を考慮し、第 2点が第 4象限にある場合には X 軸に対する対称性を考慮する。この場合、 3点の組み合わせは、(d+ l) 2 X 28通りで ある。例えば、 d= 5である場合には、組み合わせは 1008通り、 d= 10である場合に は、組み合わせは 3388通り、 d= 20である場合には、組み合わせは 12348通りであ り、これらの組み合わせを表したテーブルを格納するために必要な容量を小さくでき る。
[0059] なお、第 2点の周囲に割り当てる領域は、 28分割に限定されない。分割数は任意 である。分割数を増やすとテーブルの容量は増える力 曲線の品位を上げることが可 能である。また均等な分割に限定されない。角度の浅いところでは、細力べ分割し、角 度が深!、ところでは粗く分割してもよ!/、。
[0060] 図 28は、第 2点の周囲に割り当てられた領域の一例を示す。
[0061] 図 28 (a)は、大きさが異なる複数の領域 (分割形態 1)を示す。 [0062] 第 2点の周囲には、複数の領域 1〜領域 8が割り当てられている。第 3点は、領域 2 に与えられている。例えば、領域 1と領域 4とは異なった大きさである。
[0063] 図 28 (b)は、第 2点の周囲の一部のみに割り当てられた領域 (分割形態 2)を示す。
[0064] 第 2点の周囲には、複数の領域 1〜領域 5が割り当てられている。しかし、それ以外 の部分 (斜線部分)には、領域が割り当てられていない。
[0065] 表示対象に応じて、第 2点の周囲の分割形態を選択できる。例えば、漢字を表示す る場合には、分割形態 1を選択する。カタカナを表示する場合には、分割形態 2を選 択する。なお、「表示対象」とは、表示デバイスに表示される対象を意味する。例えば 、文字 (漢字、平仮名、カタカナ、アルファベットなど)、図形、記号である。
[0066] 以下、図を参照して本発明の実施の形態を説明する。
[0067] 2. 文字表示奘置
図 8は、本発明の実施の形態の文字表示装置 100の構成を示す。
[0068] 文字表示装置 100は、例えばパーソナルコンピュータであり得る。パーソナルコンビ ユータとしては、デスクトップ型、ラップトップ型などの任意のタイプのコンピュータが使 用され得る。あるいは、文字表示装置は、ワードプロセッサであってもよい。
[0069] さらに、文字表示装置は、表示デバイスを備えた電子機器、情報機器など任意の 情報表示端末であり得る。例えば、文字表示装置は、液晶表示デバイスを備えた電 子機器、形態情報ツールである携帯情報端末、 PHSを含む携帯電話または一般の 電話機 ZFAXなどの通信機器であってもよ 、。
[0070] 文字表示装置 100は、入力デバイス 10と、線を表示する表示デバイス 30と、表示 デバイス 30を制御する制御部 20と、補助記憶装置 40とを含む。
[0071] 入力デバイス 10は、表示デバイス 30に表示すべき文字を表す情報を制御部 20〖こ 入力するために使用される。文字を表す情報は、例えば、文字を認識するコードと文 字の大きさを示すサイズ情報とを含む。
[0072] 入力デバイス 10としては、コードとサイズを入力することが可能な任意のタイプの入 力デバイスが使用され得る。キーボード、マウスまたはペン入力装置などの入力デバ イスが使用され得る。文字表示装置 100が携帯電話である場合には、通信先の電話 番号を指定するための数字キーがコードやサイズを入力するために用いられてもよ い。文字表示装置 100がインターネットを含む通信回線に接続するための手段を備 えて 、る場合には、その通信回線力も受信した電子メールに含まれるメッセージが表 示デバイス 30に表示されてもよい。この場合には、その通信回線に接続するための 手段が、入力デバイス 10として機能する。
補助記憶装置 40には、文字表示プログラム 41と、プログラムを実行するために必要 な文字データ 42、直線テーブル 43および曲線テーブル 44が格納されて 、る。
[0073] 文字表示プログラム 41は、表示デバイスに出力するサイズに合わせて文字データ 4 2をスケーリングするスケーリングプログラム 41aと、スケーリングされた結果を量子化 する量子化プログラム 41bと、量子化された結果が表示デバイスに表示可能になるよ うに量子化された結果を描画データ化する描画データ化プログラム 41cとを含む。
[0074] 補助記憶装置 40としては、文字表示プログラム 41、文字データ 42、直線テーブル 43および曲線テーブル 44を格納することが可能な任意のタイプの補助記憶装置が 使用され得る。補助記憶装置 40において、文字表示プログラム 41、文字データ 42、 直線テーブル 43および曲線テーブル 44を格納する記憶媒体としては、任意の記録 媒体が使用され得る。例えば、ハードディスク、 CD-ROM, CD-R, MO、 DVD, I Cカードが好適に使用され得る。
[0075] なお、文字表示プログラム 41、文字データ 42、直線テーブル 43および曲線テープ ル 44は、補助記憶装置 40に備えられた記録媒体に格納されることに限定しない。例 えば、文字表示プログラム 41、文字データ 42、直線テーブル 43および曲線テープ ル 44は、主メモリ 22に格納されてもよいし、 ROM (図示せず)に格納されてもよい。 R OMは、例えばマスク ROM、 EPROM、 EEPROM、フラッシュ ROMであり得る。こ れらのデータを ROMに格納する場合には、その ROMを交換するだけでいろいろな 処理のノ リエーシヨンを容易に実現することができる。例えば、 ROMは、文字表示装 置が携帯型の情報端末または携帯電話である場合に好適に適用されうる。
[0076] さらに、文字表示プログラム 41、文字データ 42、直線テーブル 43および曲線テー ブル 44は、上記ディスクやカードなどの記憶装置や半導体メモリなどのようにプロダラ ムゃデータを固定的に保持する記憶媒体に保持され得る。文字表示装置がインター ネットを含む通信回線に接続するための手段を備えている場合には、その通信回線 カゝら文字表示プログラム 41、文字データ 42、直線テーブル 43および曲線テーブル 4 4の少なくとも一部をダウンロードすることが出来る。この場合、ダウンロードに必要な ローダープログラムは、 ROM (図示せず)に予め格納されていてもよいし、補助記憶 装置 40から制御部 20にインストールされてもよい。
[0077] 制御部 20は、 CPU21と主メモリ 22とを含む。
[0078] CPU21は、文字表示装置の全体を制御および監視するとともに、補助記憶装置 4
0に格納されて 、る文字表示プログラム 41を実行する。
[0079] 主メモリ 22は、入力デバイス 10力も入力されたデータおよび出力デバイス 30に表 示するためのデータや文字表示プログラム 41を実行するのに必要なデータを一時的 に格納する。主メモリ 22は、 CPU21によって制御される。
[0080] CPU21は、主メモリ 22に格納された各種のデータに基づいて文字表示プログラム
41を実行することにより、描画データを生成する。生成された描画データは、主メモリ
22にいつたん格納された後、表示デバイス 30に出力される。描画データが表示デバ イス 30に出力されるタイミングは、 CPU21によって制御される。
[0081] 図 9は、文字データ 42の一例を示す。具体的には、図 9に示された文字データは、 文字「大」のベクトルデータであり、 256メッシュの解像度を有する。図 9に示された文 字データは、複数の座標データを含む。
[0082] ライン Noは、文字「大」を構成するラインに付された番号である。 Xは、文字「大」を 構成するライン上の点の X座標値を示す。 Yは、文字「大」を構成するライン上の点の
Y座標値を示す。
[0083] 文字「大」は、 3本のラインで構成されて!、る。 3本のラインの各々は、位置を表す座 標データを複数有する。ライン Nolは、(8, 184)と(247, 184)との 2点を結び、ライ ン No2は、 (127, 246)、 (127, 181)、 (103, 106)、 (61, 49)および(11, 14)の 5点を結び、ライン No3は、 (127, 181)、 (144, 127)、 (176, 73)、 (208, 40)お よび(246, 14)を結ぶ。
[0084] 図 10は、文字データ 42の表示の一例である。具体的には、図 9に示された文字デ ータの表示である。
[0085] 図 11は、直線テーブル 43の一例を示す。直線テーブル 43は、補助記憶装置 40 に格納されて 、る(図 8参照)。
[0086] 「index」は、テーブルのレコード番号を示し、「(dx, dy)」は第 1点からの x方向の 増加分および y方向の増加分を示す。
[0087] 本実施例では、 X方向の増加および y方向の増加は 20以内である力 x方向の増 加および y方向の増加は 20以内に限らない。 X方向の増加および y方向の増加は、 Cte 。
[0088] 「制御列」は、「0」と「1」とで表される。 dx≥dyの場合には、 x方向に 1増加した場合 の yの増加分を「0」および「1」で示す。「0」は、 X方向に 1増加した場合には y方向の 増加は 0であることを示し、「1」は、 X方向に 1増加した場合には y方向の増加は 1であ ることを示す。
[0089] 例えば、(dx, dy) = (2, 1)の場合には、制御列は {0, 1 }である。この制御列 {0, 1 }は、第 1点力も X方向に 1増加した場合には、 y方向の増加は 0であり、次に X方向に 1増加した場合には、 y方向の増加が 1であることを示す。この制御列によって表され る線のパターンは、第 1点と第 2点とを通る線のパターンを示す。
[0090] 図 12は、曲線テーブル 44の一例を示す。曲線テーブル 44は、補助記憶装置 40 に格納されて 、る(図 8参照)。
[0091] 図 13は、制御列が有する値を示す。
[0092] 「index」は、テーブルのレコード番号を示し、「(dx、 dy)」は第 1点からの x方向の 増加分および y方向の増加分を示す。
[0093] 本実施例では、 X方向の増加および y方向の増加が 15以内である力 x方向の増 加および y方向の増加は 15以内に限らない。 X方向の増加および y方向の増加は、 任意である。曲線テーブルの X方向の増加および y方向の増加の範囲が直線テープ ルの X方向の増加および y方向の増加の範囲より小さいのは、一般に、文字が有する 曲線の 2点間の距離は、文字が有する直線の 2点間の距離より小さいからである。
[0094] 「角度」は、第 3点が領域 1〜28の何れにあるかを示す(図 7参照)。
[0095] 「制御列」は、「0」〜「7」で表される(図 13参照)。「0」は第 2点に対して右への移動 を示し、「1」は右上への移動を示し、「2」は上への移動を示し、「3」は左上への移動 を示し、「4」は左への移動を示し、「5」は左下への移動を示し、「6」は下への移動を 示し、「7」は右下への移動を示す。例えば (dx, dy) = (7, 4)で、第 3点が領域 2にあ る場合には、制御列は {0, 0, 1, 0, 1, 1, 1 }である(図 12参照)。この制御列は、第 1点からの移動が右、右、右上、右、右上、右上、右上であることを示す。この移動に よって表される線のパターンは、 3点が第 1点(0, 0)、第 2点(7, 4)、第 3点(10, 10 )である場合の第 1点と第 2点とを通る線のパターンを示す (図 1参照)。
[0096] 図 12を参照して説明したように、曲線テーブル 44に含まれる情報は、第 2点と第 3 点との位置関係と線のパターンとの対応関係を示す。この曲線テーブル 44は、予め 補助記憶装置 40に用意されている。
[0097] なお、曲線テーブル 44に含まれる「制御列」によって表される線のパターンは、曲 線に限らない。「制御列」によって表される線のパターンは、直線であり得る。このよう な制御列は、例えば、 { 1, 1, 1, 1 }である。
[0098] 以上、図 1〜図 13および図 28を参照して、本発明の実施の形態の文字表示装置 1 00を説明した。
[0099] 例えば、図 1〜図 13および図 28の例では、表示デバイス 30が「線を表示する表示 デバイス」に対応し、制御部 20が「表示デバイスを制御する制御部」、「与えられた第 1点、第 2点および第 3点に対して、第 1点および第 2点のうちの少なくとも一方と第 3 点との第 1の位置関係を決定する制御部」、「予め用意された少なくとも 1つの線のパ ターンであって、第 1点と第 2点とを通る少なくとも 1つの線のパターンの中から、決定 された第 1の位置関係に対応する 1つの線のパターンを選択する制御部」および「選 択された線のパターンに応じて、第 1点と第 2点とを通る線を表示デバイスに表示す る制御部」に対応する。さら〖こ、直線テーブル 42および曲線テーブル 44を記憶する 補助記憶装置 40が「第 1の位置関係と線のパターンとの対応関係を示すパターン情 報を保持する保持部」に対応する。
[0100] しかし、図 1〜図 13および図 28に示される実施の形態は、本発明の文字表示装置 の機能の一例を示したに過ぎない。上述した各手段の機能が達成される限りは、任 意の構成を有する文字表示装置が本発明の範囲内に含まれ得る。
[0101] 例えば、直線テーブル 42および曲線テーブル 44が表示装置の外部から表示装置 に入力されてもよい。例えば、ネットワークを介して表示装置と結ばれた保持部に直 線テーブル 42および曲線テーブル 44が保持されて ヽる場合には、直線テーブル 42 および曲線テーブル 44が表示装置の外部から表示装置に入力される。
[0102] 例えば、上述した各手段は、ハードウェアによって実現されてもよいし、ソフトウェア によって実現されてもょ 、し、ハードウェアとソフトウェアとによって実現されてもょ 、。
[0103] 例えば、文字表示装置には、文字表示処理手順を実行させるためのプログラム(以 下、文字表示処理プログラムという)が格納されている。文字表示処理プログラムは、 コンピュータの出荷時に、文字表示装置に含まれるプログラム格納手段に予め格納 されていてもよい。
[0104] あるいは、コンピュータの出荷後に、文字表示処理プログラムをプログラム格納手段 に格納するようにしてもよい。例えば、ユーザがインターネット上の特定のウェブサイト 力 文字表示処理プログラムを有料または無料でダウンロードし、そのダウンロードさ れたプログラムをコンピュータにインストールするようにしてもょ ヽ。文字表示処理プロ グラムがフレキシブルディスク、 CD— ROM、 DVD— ROMなどのコンピュータ読み 取り可能な記録媒体に記録されている場合には、入力装置 (例えば、ディスクドライブ 装置)を用いて文字表示処理プログラムをコンピュータにインストールするようにしても よい。インストールされたプログラムは、プログラム格納手段に格納される。
[0105] なお、文字表示処理手順の詳細は、後述される。
[0106] 図 1〜図 13および図 28を参照して説明したように、本発明の表示装置によれば、 第 1点と第 2点とを通る線の軌道を計算によって求めることなぐ第 1点と第 2点とを通 る少なくとも 1つの線のパターンの中から、決定された位置関係に対応する 1つの線 のパターンを選択することによって、第 1点と第 2点とを通る線を表示できる。したがつ て、複雑な計算が必要とされる第 1点と第 2点とを通る線の軌道の計算を行う必要が なぐ第 1点と第 2点とを通る線を高速に表示できる。
[0107] 本発明では、第 1点と第 2点とを通る線のパターンと 3点の位置関係との対応を示す テーブルを利用して、 3点を結ぶ曲線を描画する。したがって、テーブルの読み出し のみで曲線の描画が可能となり、複雑な演算が発生しない。その結果、第 1点と第 2 点とを通る線を高速に描画できる。
[0108] さらに、第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直線との角度を分類し 、テーブルィ匕する。その結果、容量を少なくできる。
[0109] さらに、第 2点が第 1象限にある場合のみ、第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直線の角度の分類とテーブルィ匕とを行う。したがって、 3点の位置の組み 合わせを減らすことができる。その結果、さらに容量を少なくできる。
[0110] 3.表示方法
図 14は、文字表示処理手順を示す。 CPU121が文字表示プログラム 141を実行 することによって、文字表示処理が行われる。
[0111] 以下、図 8および図 14を参照して文字表示処理手順をステップごとに説明する。
[0112] ステップ S101 :入力デバイス 10から入力された指示に従って、文字データ 42から 指定の文字を表す文字データが読み込まれる。例えば、読み込まれる文字データは 、複数の座標データを含む(図 9参照)。
[0113] ステップ S102 :読み込まれた文字データに含まれた座標データが出力サイズに適 合するようにスケーリングされる。出力サイズが nドットである場合には、座標データ (X , y)は所定の計算によってスケーリングされ、スケール化データ (X, Y)に変更される 。所定の計算は、 X= (n—1) X x/255, Y= (n- 1) XyZ255である。
[0114] 例えば、出力サイズが 36ドットである場合には、座標データ (X, y) (図 9参照)は所 定の計算によってスケーリングされ、スケールィ匕データ(図 22参照)に変更される。
[0115] ステップ S103 :スケールィ匕データは量子化され、量子化データに変更される。例え ば、量子化する方法として、四捨五入がある。例えば、座標データ (X, y) (図 9参照) が所定の計算によってスケーリングされ、さらに量子化されることによって、量子化デ ータに変更される(図 22参照)。
[0116] なお、量子化する方法は、四捨五入に限定されない。本願と同出願人による出願( 特願 2003— 137918号明細書)には、量子化する他の方法が開示されている。開 示された方法には、量子化誤差を抑える方法が含まれる。
[0117] ステップ S104 :直線テーブル 43および曲線テーブル 44を参照して、量子化デー タカ 描画データを求める。
[0118] ステップ S 105 :描画データに基づいて、イメージを表示デバイス 30に表示する。
[0119] イメージを表示デバイス 30に表示した後、処理は終了する。 [0120] 図 15は、ステップ S 104で実行される描画データ化処理手順を示す。
[0121] 以下、図 15を参照して描画データ化処理手順をステップごとに説明する。
[0122] ステップ S201 :量子化データが取り出される。例えば、文字「大」の場合には、呼び 出されたライン Noに対応する量子化データが取り出される(図 22参照)。最初にライ ン No. 1が呼び出され、対応する量子化データ((1, 25)、 (34, 25) )が取り出される 。次に、ライン No2が呼び出され、対応する量子化データ((17, 34)、 (17, 25)、 (1 4, 15)、 (8, 7)、 (2, 2) )が取り出される。最後に、ライン No. 3が呼び出され、対応 する量子化データ((17, 25)、 (20, 17)、 (24, 10)、 (29, 5)、 (34, 2) )が取り出 される。
[0123] ステップ S202 :呼び出されたライン Noに対応する量子化データに 3点以上の座標 点が含まれるか否かが判定される。
[0124] 3点以上の座標点が含まれると判定された場合 (Yes)には、処理は、ステップ S 20
4に進む。 3点以上の座標点が含まれないと判定された場合 (No)には、処理は、ス テツプ S203に進む。
[0125] ステップ S203:呼び出されたライン Noによって示されるラインが直線で描画される ように描画データが求められる。直線テーブル 43を参照して、量子化データから描 画データが求められる。
[0126] ステップ S204 :呼び出されたライン Noによって示されるラインが曲線で描画される ように描画データが求められる。曲線テーブル 44を参照して、量子化データから描 画データが求められる。
[0127] ステップ S205:呼び出すべきラインがあるか否かを判定する。
[0128] 呼び出すべきラインがあると判定された場合 (Yes)には、処理は、ステップ S201に 進む。呼び出すべきラインがないと判定された場合 (No)には、処理は終了する。
[0129] 図 16は、ステップ S203で実行される直線描画処理手順を示す。
[0130] 以下、図 16を参照して直線描画処理手順をステップごとに説明する。
[0131] ステップ S301:与えられた 2点の座標点(X , y )、(X , y )の次の値を求める。 dx
1 1 2 2
^abs (x -x )によって、 Xと Xとの距離 dxを求め、 dy^abs (y— y )によって、 yと
2 1 1 2 2 1 1 yとの距離 dyを求める。 [0132] なお、関数 abs (t)は tの絶対値を示す。
[0133] さらに、描画位置を示す変数を (X, y)で表した場合、 X ^および y^yiは第 1点を 描画開始位置に設定する処理を示す。
[0134] ステップ S302 :第 1点 (X, y)を描画データ化する。
[0135] ステップ S303 :直線テーブル 43から制御列を取得する。直線テーブルへのァクセ スは、次の計算で行われる。
[0136] テーブルの範囲を nとすると、直線テーブル 43のうちの((n+ 1) X dy+dx+ 1)番 目の制御列を取得する。本実施例ではテーブルの範囲を 20としているので、((20
+ 1) X dy+dx+ 1)番目の制御列を取得する。
[0137] ステップ S304 : xおよび Xのうちどちらが大きいかを判定する。
1 2
[0138] X力 以上であると判定された場合 (Yes)には、処理はステップ S305に進む。 x
2 1 2 力 より小さいと判定された場合 (No)には、処理はステップ S306に進む。
[0139] ステップ S305 :変数 incxに値「1」をセットする。変数 incxによって、 x方向の増減が 制御される。
[0140] ステップ S306 :変数 incxに値「一 1」をセットする。変数 incxによって、 x方向の増減 が制御される。
[0141] ステップ S307 :yおよび yのうちどちらが大きいかを判定する。
1 2
[0142] V力 以上であると判定された場合 (Yes)には、処理はステップ S308に進む。 y
2 1 2 力 より小さいと判定された場合 (No)には、処理はステップ S309に進む。
[0143] ステップ S308 :変数 incyに値「1」をセットする。変数 incyによって、 y方向の増減が 制御される。
[0144] ステップ S309 :変数 incyに値「—1」をセットする。変数 incyによって、 y方向の増減 が制御される
ステップ S310: dxおよび dyのうちどちらが大き!/、かを判定する。
[0145] dxが dy以上であると判定された場合 (Yes)には、処理はステップ S311に進む。 dx が dyより小さいと判定された場合 (No)には、処理はステップ S314に進む。
[0146] ステップ S311:制御列が終わりか否かが判定される。制御列が終わりであると判定 された場合 (Yes)には、処理は終了する。制御列が終わりでないと判定された場合( No)には、処理はステップ S312に進む。
[0147] ステップ S312 : (X, y)の次の点を計算する。具体的は xに xの増減を制御する incx の値をカ卩ぇ(Xの次の値 =x+incx)、 yに yの増減を制御する incyに制御列の値( Δ y)を掛けた値を加える (yの次の値 =y+incy X Ay)。
[0148] ステップ S313 : (x+incx)および (y+incyX Ay)を描画データ化する。具体的に は、点(x+incx, y+incyX Ay)をプロットする。その後、処理はステップ S311に進 む。
[0149] ステップ S314 :制御列が終わりか否かが判定される。制御列が終わりであると判定 された場合 (Yes)には、処理は終了する。制御列が終わりでないと判定された場合(
No)には、処理はステップ S315に進む。
[0150] ステップ S315: (X, y)の次の点を計算する。具体的は xに xの増減を制御する incx に制御列の値(Δ χ)を掛けた値をカ卩ぇ(Xの次の値 =x+incxX Δ χ)、 yに yの増減 を制御する incyの値をカ卩える(yの次の値 =y+incy)。
[0151] ステップ S316 : (x+incx X Δ χ)および (y+ incy)を描画データ化する。具体的に は、点(x+incx X Δ χ, y+incy)をプロットする。その後、処理はステップ S314に進 む。
[0152] 図 17は、ステップ S204で実行される曲線描画処理手順を示す。
[0153] 以下、図 17を参照して曲線描画処理手順をステップごとに説明する。
[0154] ステップ S401:与えられた座標点から 3点を取り出す。例えば、与えられた座標点 力 点((a , b )、(a , b )、(a , b )、(a , b )、(a , b;) )である場合には、最初の呼
1 1 2 2 3 3 4 4 5 5
び出しでは(a, b )、(a, b )、(a, b )の 3点が取り出され、次の呼び出しでは(a,
1 1 2 2 3 3 2 b )、(a , b )、(a , b )が取り出される。このように連続した 3点を 1点ずつ、ずらしな
2 3 3 4 4
がら取り出す。
[0155] ステップ S402:取り出された 3点の座標点(x , y )、(x , y )、(x , y )の次の値を
1 1 2 2 3 3
求める。 dx^abs (x -x )によって、 xと xの距離 dxを求め、 dv abs (y— y )によ
2 1 1 2 2 1 つて、 yと yとの距離 dyを求める。
1 2
[0156] さらに、描画位置を示す変数を (X, y)で表した場合、 X Xおよび y^yは、第 3点 のうち第 1点を描画開始位置に設定する処理を示す。 [0157] ステップ S403:取り出された 3点の内、第 1点 (x, y)を描画データ化する。
[0158] ステップ S404:第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直線との角度 力も角度パターンを求める。
[0159] 角度パターン a=round(((@ — Θ ) X 28)Ζ(2Χ Π))として計算できる。
2 1
[0160] ここで、角度 Θ は、第 1点と第 2点とを通る直線と X軸との角度(Θ =tan_1((y— y
1 1 2
)/(x — x )))であり、角度 Θ は、第 2点と第 3点とを通る直線と χ軸との角度(Θ =
1 2 1 2 2 tan_1((y— y )Z(x — x )))である。
3 2 3 2
[0161] 関数 round (t)は、 tの四捨五入を示す。 tan—1の計算は処理が複雑である力 本 発明の場合、最終的に 28分割された何れかの角度パターンに当てはめればよいも ので、精度の要求は高くない。したがって、 tan—1の引数を何パターンかに分類した テーブルを用いて、 tan—1の計算を高速ィ匕することも可能である。
[0162] なお、 tan_1の引数と tan_1の値との対応を示すテーブルを用いて tan_1の計算を 高速化する手法の詳細は、後述される。
[0163] 以上、ステップ S401〜ステップ S404を参照して説明したように、ステップ S401〜 ステップ S404を実行することによって、与えられた第 1点、第 2点および第 3点に対し て、第 1点および第 2点のうちの少なくとも一方と第 3点との位置関係が決定される。
[0164] ステップ S405:曲線テーブル 44から制御列を取得 (選択)する。曲線テーブルへ のアクセスは、次の計算で行われる。
[0165] テーブルの範囲を n、分割数を t、角度パターンを aとすると、曲線テーブル 44のうち の((n+ 1) X t X dy+tX dx+a)番目の制御列を取得する。本実施例ではテーブル の範囲を 15とし、分割数を 28としているので、((15 + 1) X28Xdy+28Xdx+a) 番目の制御列を取得する。
[0166] ステップ S405を参照して説明したように、ステップ S405を実行することによって、 第 2点と第 3点との位置関係と線のパターンとの対応関係を示す情報が含まれた曲 線テーブル 44から、所望の線のパターンを示す制御列が選択される。
[0167] ステップ S406:xおよび Xのうちどちらが大きいかを判定する。
1 2
[0168] X力 以上であると判定された場合 (Yes)には、処理はステップ S407に進む。 x
2 1 2 力 より小さいと判定された場合 (No)には、処理はステップ S408に進む。 ステップ S407 :yおよび yのうちどちらが大きいかを判定する。
1 2
[0169] V力 以上であると判定された場合 (Yes)には、処理はステップ S409に進む。 y
2 1 2 力 より小さいと判定された場合 (No)には、処理はステップ S410に進む。
ステップ S408 :yおよび yのうちどちらが大きいかを判定する。
1 2
[0170] V力 以上であると判定された場合 (Yes)には、処理はステップ S411に進む。 y
2 1 2 力 より小さいと判定された場合 (No)には、処理はステップ S412に進む。
[0171] ステップ S409 :第 1点を原点とした場合に、第 2点が第 1象限にある場合の第 1象 限描画をする。
[0172] ステップ S410 :第 1点を原点とした場合に、第 2点が第 2象限にある場合の第 2象 限描画をする。
[0173] ステップ S411:第 1点を原点とした場合に、第 2点が第 3象限にある場合の第 3象 限描画をする。
[0174] ステップ S412 :第 1点を原点とした場合に、第 2点が第 4象限にある場合の第 4象 限描画をする。
[0175] ステップ S413 :フラグがセットされているかを判定する。フラグがセットされていると 判定された場合 (Yes)には、処理は終了する。フラグがセットされていないと判定さ れた場合 (No)には、処理はステップ S414に進む。
[0176] ステップ S414 :ステップ S401を実行することによって取得された 3点が最後の 3点 か否かを判定する。
[0177] 例えば、曲線描画処理に与えられた座標点が(a , b )、(a , b )、(a , b )、(a , b
1 1 2 2 3 3 4
) , (a , b )の 5点である場合には、ステップ S401で取り出された 3点が最後の 3点(
4 5 5
a, b )、(a, b )、(a, b )である力否かを判定する。
3 3 4 4 5 5
[0178] 最後の 3点であると判定された場合 (Yes)には、処理はステップ S415に進む。最 後の 3点でないと判定された場合 (No)には、処理はステップ S401に進む。
[0179] ステップ S415 :フラグをセットし、 3点を逆にセットする。
[0180] 例えば、最後の 3点が(a , b )、(a , b )、(a , b )の順にセットされている場合に
3 3 4 4 5 5
は、最後の 3点を (a , b )、(a , b )、(a , b )の順にセットするように変更する。 (a ,
5 5 4 4 3 3 4 b )と (a , b )とが描画されなくなることを防ぐためである。 [0181] 順に 3点を取り出し処理をする場合 (ステップ S401参照)において、描画されるの は、 3点の内、第 1点と第 2点との間であり、第 2点と第 3点との間は描画されない。最 終的に最後の区間((a , b )と (a , b )との間)が描画されないのを防ぐため、最後に
4 4 5 5
点 (a , b )と点 (a , b )とを入れ替え、最後の区間を描画する。
3 3 5 5
[0182] なお、本実施例では、最後の 3点を逆にセットした力 「ステップ 414の処理」を「取 得された 3点がラインの真ん中よりも前か否かを判定する処理」に変更してもよい。こ の場合には、取得された 3点が真ん中より前であると判定された場合には、第 1点か ら正順に 3点を取り出し (ステップ S401参照)、取得された 3点が真ん中よりも前では な 、と判定された場合には、最後の点力も逆順に 3点を取り出す。
[0183] 図 27は、 tan—1の値と tan—1の引数との対応を示す。 tan—1の値は、角度(度)であり 、 tan—1の引数は、 dyZdxである。角度 Θは、(noX360)Z56で示される。
[0184] tan_1の値と tan_1の引数との対応を示すテーブルを用いることで、 tan_1の計算を 行う必要はなくなる。但し、 tan—1の値は、 0〜180° (第 1象限、第 2象限のみ)であり 、 180° く tan—1く 360° に対応する tan—1の引数は、計算で求める。例えば(0, 0) と(10, 5)とを通る直線は dy/dx=0.5(dy=5、 dx=10)であるため、 no4と no5の 間にあることがわかる。この実施例では小さいほうの noを選ぶとすると、 no =4になる 。また(0, 0)と(一 10, — 5)とを通る直線は dyZdx=0.5(dy=5、 dx=10)である ため、 no=4になる力 第 3象限の値なので 28を加算し no = 32とする。つまり、 Θ = tan_1((y -y )/(x x;))は、第 1点と第 2点を通る直線と水平線との角度を求め ることに相当するが、精度を下げることが許される場合には、テーブルの noを求める こと〖こ置さか免ることがでさる。
[0185] tan"1 ((y -y )/(χ -χ ))の値をテーブルで求めたものを noとし、 tan—1 ( (y
2 1 2 1 1 3
— v )Z(x—x;))の値をテーブルで求めたものを noとすると、 a=round(((@ -
2 3 2 2 2
Θ ) X28)/(2xn))( |† «, a=round(abs(no— no )Z2)に置き換えること
1 2 1
が出来る。
[0186] 以下、図 1〜図 4を参照して具体的に説明する。
[0187] 図 1は、 (0, 0)、 (7, 4)、 (10, 10)を通る曲線を示す。 noの値は 4である。(4— 0 )/(7-0)=0.571だ力らである。 noの値は 9である。(10—4)Z(10— 7) =2だ 力らである。角度パターン aは、 3である(a=round(abs (9— 4)Z2) )。
[0188] 図 2は、 (0, 0)、 (7, 4)、 (13, 16)を通る曲線を示す。 noの値は 4である。(4— 0 ) / (7-0) =0. 571だ力らである。 noの値は 9である。(16—4)Z(13— 7) = 2だ
2
力らである。角度パターン aは、 3である(a=round(abs (9— 4)Z2) )。
[0189] 図 3は、 (0, 0)、 (7, 4)、 (12, 17)を通る曲線を示す。 noの値は 4である。(4— 0 ) / (7-0) =0. 571だ力らである。 noの値は 10である。 (17-4) / (12- 7) = 2.
2
6だからである。角度パターン aは、 3である(a=round (abs (10— 4)Z2) )。
[0190] 図 4は、 (0, 0)、 (7, 4)、 (14, 16)を通る曲線を示す。 noの値は 4である。(4— 0 ) / (7-0) =0. 571だ力らである。 noの値は 15である。(14— 4)Z(6— 7) =— 1
2
0だからである。角度パターン aは、 6である(a=round (abs (15— 4)Z2) )。
[0191] このようなテーブルを用いる場合には、複雑な三角関数を計算することなく角度パ ターンを求めることができる。
[0192] 図 18は、ステップ S409で実行される第 1象限描画処理手順を示す。
[0193] 以下、図 18を参照して第 1象限描画処理手順をステップごとに説明する。
[0194] ステップ S501:ステップ S405で取得された制御列が終わりか否かを判定する。
[0195] 制御列が終わりであると判定された場合 (Yes)には、処理は終了する。終わりでな いと判定された場合 (No)には、処理はステップ S502に進む。
[0196] ステップ S502 :制御列の値 (値「0」〜「7」:図 13参照)に応じて、処理は分岐する。
[0197] 制御値「0」である場合には、処理はステップ S503に進む。制御値「1」である場合 には、処理はステップ S504に進む。制御値「2」である場合には、処理はステップ S5 05に進む。制御値「3」である場合には、処理はステップ S506に進む。制御値「4」で ある場合には、処理はステップ S507に進む。制御値「5」である場合には、処理はス テツプ S508に進む。制御値「6」である場合には、処理はステップ S509に進む。制 御値「7」である場合には、処理はステップ S510に進む。
[0198] ステップ S503 :x方向の値を制御する Xの値を 1増加させる。処理はステップ S511 に進む。
[0199] ステップ S504 :x方向の値を制御する Xの値を 1増加させ、 y方向の値を制御する y の値を 1増加させる。処理はステップ S511に進む。 [0200] ステップ S505 : y方向の値を制御する yの値を 1増加させる。処理はステップ S511 に進む。
[0201] ステップ S506 :x方向の値を制御する Xの値を 1減少させ、 y方向の値を制御する y の値を 1増加させる。処理はステップ S511に進む。
[0202] ステップ S507 :x方向の値を制御する Xの値を 1減少させる。処理はステップ S511 に進む。
[0203] ステップ S508 :x方向の値を制御する Xの値を 1減少させ、 y方向の値を制御する y の値を 1減少させる。処理はステップ S511に進む。
[0204] ステップ S509 : y方向の値を制御する yの値を 1減少させる。処理はステップ S511 に進む。
[0205] ステップ S510 :x方向の値を制御する Xの値を 1増加させ、 y方向の値を制御する y の値を 1させる。処理はステップ S511に進む。
[0206] ステップ S511:ステップ S503〜ステップ S510で計算された点(x, y)を描画デー タ化する。例えば、点 (X, y)をプロットする。
[0207] 図 19は、ステップ S410で実行される第 2象限描画処理手順を示す。
[0208] 第 2象限は、第 1象限に対して y軸対称である。したがって、第 1象限描画処理手順
(図 18参照)との処理手順の違いは、制御値に応じた Xの増減が逆になるだけである ので、ステップ S601〜ステップ S611の説明は省略する。
[0209] 図 20は、ステップ S411で実行される第 3象限描画処理手順を示す。
[0210] 第 3象限は、第 1象限に対して原点対称である。したがって、第 1象限描画処理手 順(図 18参照)との処理手順の違いは、制御値に応じた Xの増減および yの増減がそ れぞれ逆になるだけであるので、ステップ S701〜ステップ S711の説明は省略する。
[0211] 図 21は、ステップ S412で実行される第 4象限描画処理手順を示す。
[0212] 第 4象限は、第 1象限に対して X軸対称である。したがって、第 1象限描画処理手順
(図 18参照)との処理手順の違いは、制御値に応じた yの増減が逆になるだけである ので、ステップ S801〜ステップ S811の説明は省略する。
[0213] 図 22は、座標データ、スケールィ匕データおよび量子化データを示す。
[0214] ベクトルデータ(図 9参照)をスケール処理、量子化処理した結果である。 [0215] 図 23は、図 22に示された量子化データに基づいて描画した結果を示す。
[0216] 量子化データ(図 22参照)を描画データ化処理(図 15参照)によって描画した結果 を示す。曲線描画により、文字が高品位に描画できている。
[0217] 図 24は、テーブルの編集処理手順を示す。
[0218] 図 25は、表示点を変更した後の線のパターンを示す。
[0219] 図 26は、表示点を変更した後の曲線描画テーブルを示す。
[0220] 以下、図 1、図 12、図 24〜図 26を参照してテーブルの編集処理手順をステップご とに説明する。
[0221] ステップ S901: 3点を通る制御列を呼び出し、線のパターンを編集画面に表示する 。編集画面に表示された線のパターンは、例えば、図 1に示される。 2点を通る線の パターンが編集画面に表示されて!、る。
[0222] ステップ S902 :表示された線のパターンを画面を見ながら変更する。例えば、図 1 に示された線のパターンを図 25に示された線のパターンに編集する。
[0223] ステップ S903 :変更された線のパターンのうち第 1点と第 2点とを通る線のパターン のみを制御列で示し、テーブルを書き換える。図 12で示された曲線テーブルの 199 0番目の制御列 {0, 0, 1, 0, 1, 1, 1 }力 26で示された曲線テーブルの 1990番目 の制御列 {0, 1, 0, 1, 0, 1, 1 }に書き換えられる。
[0224] このように、曲線テーブルの内容は変更可能である。ただし変更結果は、第 1点と 第 2点とを通る直線と第 2点と第 3点とを通る直線の角度が同じ角度パターンに分割 する全ての場合に影響する。
[0225] 以上、図 14〜図 21および図 24を参照して本発明の表示手順を説明した。
[0226] 例えば、図 14〜図 21および図 24の例では、ステップ S401〜ステップ S404が「与 えられた第 1点、第 2点および第 3点に対して、第 1点および第 2点のうちの少なくとも 一方と第 3点との第 1の位置関係を決定するステップ」に対応し、ステップ S405が「予 め用意された少なくとも 1つの線のパターンであって、第 1点と第 2点とを通る少なくと も 1つの線のパターンの中から、決定された第 1の位置関係に対応する 1つの線のパ ターンを選択するステップ」に対応し、ステップ S409〜ステップ S412が「選択された 線のパターンに応じて、第 1点と第 2点とを通る線を表示デバイスに表示するステップ 」に対応する。しかし、図 14〜図 21および図 24の例は、本発明の表示手順の一例を 示したに過ぎない。上述した各ステップが実行される限りは、任意のステップを有する 表示手順が本発明の範囲に含まれ得る。
[0227] 本発明のプログラムおよび記録媒体によれば、第 1点と第 2点とを通る線の軌道を 計算によって求めることなぐ第 1点と第 2点とを通る少なくとも 1つの線のパターンの 中から、決定された位置関係に対応する 1つの線のパターンを選択することによって 、第 1点と第 2点とを通る線を表示できる。したがって、複雑な計算が必要とされる第 1 点と第 2点とを通る線の軌道の計算を行う必要がなぐ第 1点と第 2点とを通る線を高 速に表示できる。
[0228] 上述した実施の形態では、文字を表示する場合を例にとり説明したが、本発明はこ れに限定されない。文字に代えて、あるいは文字にカ卩えて、図形を表示する場合に も本発明を適用することができる。この場合、文字表示プログラム 41に代えて、あるい は文字表示プログラム 41に加えて図形表示プログラムを使用するようにし、文字デー タ 42に代えて、あるいは文字データ 42にカ卩えて図形データを使用するようにすれば よい。図形表示プログラムもまた、文字表示プログラム 41と同様のステップを含み得 る。図形には、例えば、文字の一部、模様、記号などが含まれる。
[0229] 以上のように、本発明の好ましい実施形態を用いて本発明を例示してきた力 本発 明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求 の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、 本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に 基づいて等価な範囲を実施することができることが理解される。本明細書において引 用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載さ れているのと同様にその内容が本明細書に対する参考として援用されるべきであるこ とが理解される。
産業上の利用可能性
[0230] 本発明の表示装置、プログラムおよび記録媒体によれば、第 1点と第 2点とを通る 線の軌道を計算によって求めることなぐ第 1点と第 2点とを通る少なくとも 1つの線の パターンの中から、決定された位置関係に対応する 1つの線のパターンを選択するこ とによって、第 1点と第 2点とを通る線を表示できる。したがって、複雑な計算が必要と される第 1点と第 2点とを通る線の軌道の計算を行う必要がなぐ第 1点と第 2点とを通 る線を高速に表示できる。
[0231] 本発明では、第 1点と第 2点とを通る線のパターンと 3点の位置関係との対応を示す テーブルを利用して、 3点を結ぶ曲線を描画する。したがって、テーブルの読み出し のみで曲線の描画が可能となり、複雑な演算が発生しない。その結果、第 1点と第 2 点とを通る線を高速に描画できる。
[0232] さらに、第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直線との角度を分類し 、テーブルィ匕する。その結果、容量を少なくできる。
[0233] さらに、第 2点が第 1象限にある場合のみ、第 1点と第 2点とを通る直線と第 2点と第 3点とを通る直線の角度の分類とテーブルィ匕とを行う。したがって、 3点の位置の組み 合わせを減らすことができる。その結果、さらに容量を少なくできる。

Claims

請求の範囲
[1] 線を表示する表示デバイスと、
前記表示デバイスを制御する制御部と
を備えた表示装置であって、
前記制御部は、与えられた第 1点、第 2点および第 3点に対して、前記第 1点および 前記第 2点のうちの少なくとも一方と前記第 3点との第 1の位置関係を決定し、 予め用意された少なくとも 1つの線のパターンであって、前記第 1点と前記第 2点と を通る少なくとも 1つの線のパターンの中から、前記決定された第 1の位置関係に対 応する 1つの線のパターンを選択し、
前記選択された線のパターンに応じて、前記第 1点と前記第 2点とを通る線を前記 表示デバイスに表示する、表示装置。
[2] 前記第 1の位置関係と前記線のパターンとの対応関係を示すパターン情報を保持 する保持部をさらに備え、
前記線のパターンの選択は、前記保持部に保持されて!、る前記パターン情報を参 照して行われる、請求項 1に記載の表示装置。
[3] 前記第 1の位置関係は、前記第 1点と前記第 2点とを結ぶ第 1直線と前記第 2点と 前記第 3点とを結ぶ第 2直線との角度に応じて決定される、請求項 1に記載の表示装 置。
[4] 前記制御部は、前記第 1点、前記第 2点および第 4点に対して、前記第 1点および 前記第 2点のうちの少なくとも一方と前記第 4点との第 2の位置関係を決定し、 前記制御部は、前記少なくとも 1つの線のパターンの中から、前記決定された第 2 の位置関係に対応する 1つの線のパターンを選択し、
前記第 2点の周囲には、複数の領域が割り当てられ、
前記第 3点と前記第 4点とは、前記複数の領域のうちの同じ領域に与えられ、 前記選択された第 1の位置関係に対応する 1つの線のパターンと前記選択された 第 2の位置関係に対応する 1つの線のパターンとは、同じである、請求項 3に記載の 表示装置。
[5] 前記第 1点は原点に与えられ、前記第 2点は第 1象限に与えられる、請求項 1に記 載の表示装置。
[6] 前記第 2点の周囲には、複数の領域が割り当てられ、
前記第 3点は、前記複数の領域のうちの 1つに与えられ、
前記複数の領域のうちの 1つの領域と、前記 1つの領域とは異なる領域とは、異な つた大きさを有する、請求項 1に記載の表示装置。
[7] 前記第 2点の周囲の一部のみに、複数の領域が割り当てられ、
前記第 3点は、前記複数の領域のうちの 1つに与えられる、請求項 1に記載の表示 装置。
[8] 線を表示する表示デバイスを備えた情報表示装置に表示処理を実行させるプログ ラムであって、
前記表示処理は、
与えられた第 1点、第 2点および第 3点に対して、前記第 1点および前記第 2点のう ちの少なくとも一方と前記第 3点との第 1の位置関係を決定するステップと、
予め用意された少なくとも 1つの線のパターンであって、前記第 1点と前記第 2点と を通る少なくとも 1つの線のパターンの中から、前記決定された第 1の位置関係に対 応する 1つの線のパターンを選択するステップと、
前記選択された線のパターンに応じて、前記第 1点と前記第 2点とを通る線を前記 表示デバイスに表示するステップと
を包含する、プログラム。
[9] 線を表示する表示デバイスを備えた情報表示装置によって読み取り可能な記録媒 体であって、
前記記録媒体は、前記情報表示装置に表示処理を実行させるプログラムを記録し 前記表示処理は、
与えられた第 1点、第 2点および第 3点に対して、前記第 1点および前記第 2点のう ちの少なくとも一方と前記第 3点との第 1の位置関係を決定するステップと、
予め用意された少なくとも 1つの線のパターンであって、前記第 1点と前記第 2点と を通る少なくとも 1つの線のパターンの中から、前記決定された第 1の位置関係に対 応する 1つの線のパターンを選択するステップと、
前記選択された線のパターンに応じて、前記第 1点と前記第 2点とを通る線を前記 表示デバイスに表示するステップと
を包含する、記録媒体。
PCT/JP2005/013426 2004-07-23 2005-07-21 表示装置、プログラムおよび記録媒体 WO2006009228A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2005800246142A CN1998024B (zh) 2004-07-23 2005-07-21 显示装置、程序以及记录介质
HK07113184.2A HK1104864A1 (en) 2004-07-23 2007-12-03 Display apparatus, program and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-216462 2004-07-23
JP2004216462A JP4198098B2 (ja) 2004-07-23 2004-07-23 表示装置、プログラムおよび記録媒体

Publications (1)

Publication Number Publication Date
WO2006009228A1 true WO2006009228A1 (ja) 2006-01-26

Family

ID=35785336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/013426 WO2006009228A1 (ja) 2004-07-23 2005-07-21 表示装置、プログラムおよび記録媒体

Country Status (5)

Country Link
JP (1) JP4198098B2 (ja)
KR (1) KR100866362B1 (ja)
CN (1) CN1998024B (ja)
HK (1) HK1104864A1 (ja)
WO (1) WO2006009228A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04174494A (ja) * 1990-11-07 1992-06-22 Nec Off Syst Ltd 文字発生方式

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960015761B1 (en) * 1992-01-27 1996-11-21 Fujitsu Ltd Charaster gerenating method and apparatus
TW262547B (ja) * 1992-11-30 1995-11-11 Canon Kk
JPH10293854A (ja) * 1997-04-18 1998-11-04 Koubundou:Kk 曲線表示方法及び装置、同曲線を表すデータの作成方法及び装置、並びに同表示方法及び作成方法を実現するためのプログラムを記録した記録媒体
CN1159666C (zh) * 2002-03-29 2004-07-28 上海汉峰信息科技有限公司 基于笔划中心线技术的曲线字形的还原显示方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04174494A (ja) * 1990-11-07 1992-06-22 Nec Off Syst Ltd 文字発生方式

Also Published As

Publication number Publication date
CN1998024A (zh) 2007-07-11
KR100866362B1 (ko) 2008-11-03
CN1998024B (zh) 2010-10-06
JP4198098B2 (ja) 2008-12-17
KR20070026795A (ko) 2007-03-08
HK1104864A1 (en) 2008-01-25
JP2006039780A (ja) 2006-02-09

Similar Documents

Publication Publication Date Title
EP2330560B1 (en) Method and device for processing vector graphics
JP2005521903A (ja) ストローク中心線技術に基づく曲線字形の復元表示方法
US20150325022A1 (en) Technique for processing a character string for graphical representation on a man/machine interface
JP3113175B2 (ja) 文字・記号パターン発生装置
US6266070B1 (en) Character pattern generator, character generating method, and storage medium therefor
JP4239908B2 (ja) 数式表示制御装置及びプログラム
JPH03210680A (ja) 曲線発生装置
WO2006009228A1 (ja) 表示装置、プログラムおよび記録媒体
EP3308248A1 (en) Pan-zoom entry of text
JP2005107871A (ja) 画像表示方法と装置、該方法によるプログラムとこれを格納した記録媒体
JP4832462B2 (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
JP2888745B2 (ja) 文字間隔調整方法
JPH0452475B2 (ja)
JP3280160B2 (ja) 文書処理装置および文書処理方法
JP2898974B2 (ja) 文字処理装置
JP2748787B2 (ja) 曲線発生装置
JPH02250189A (ja) 文字発生方法および装置
JP3517982B2 (ja) 図形描画装置
JP2908194B2 (ja) 文字の変形制御方式
US20170257521A1 (en) Electronic apparatus and display method of electronic apparatus
JP2004093931A (ja) フォント処理装置、端末装置、フォント処理方法およびフォント処理プログラム
JPH10240720A (ja) 情報処理装置
JPH07234868A (ja) 文書作成装置
JPH0968962A (ja) 文字パターン描画方法及び文字出力装置
JPH04223495A (ja) 文字信号発生装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020077000567

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 200580024614.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 1020077000567

Country of ref document: KR

122 Ep: pct application non-entry in european phase