Information processor, information processing method and storage medium
Abstract
This record has no abstract on file.
Term
No projected expiry on record.
- Priority and filed
- Granted
- Today
5 claims: 2 independent, 3 dependent
- 1A storage means for storing print attribute data including typeface information and character size information and text print data having character string data, a contour extraction means for extracting the outline of a text image output based on the text print data, and the above-mentioned The calculation means for calculating the circumscribing rectangle from the extracted contour, the layout reference rectangle setting means for setting the layout reference rectangle from the width and the reference character height of the circumscribing rectangle, the layout position setting means for setting the layout position, and the above. It has a layout means for laying out the text image based on the layout reference rectangle and the layout position, and the reference character height is calculated from the reference character height ratio corresponding to the typeface information and the character size information. An information processing device characterized by being printed. 書体情報と文字サイズ情報とを含む印刷属性データおよび文字列データを有するテキスト印刷データを記憶する記憶手段と、 前記テキスト印刷データに基づき出力されるテキスト画像の輪郭を抽出する輪郭抽出手段と、 前記抽出された輪郭から外接矩形を計算する計算手段と、 前記外接矩形の幅と基準文字高さとからレイアウト基準矩形を設定するレイアウト基準矩形設定手段と、 レイアウト位置を設定するレイアウト位置設定手段と、 前記レイアウト基準矩形と前記レイアウト位置とに基づき、前記テキスト画像をレイアウトするレイアウト手段とを有し、 前記基準文字高さは、前記書体情報に対応する基準文字高さ比率と前記文字サイズ情報とから算出されることを特徴とする情報処理装置。
- 4Storage means, contour extraction means, calculation means,The layout standardAn information processing method implemented by an information processing device having a rectangle setting means, a layout position setting means, and a layout means, wherein the storage means stores print attribute data and character string data including typeface information and character size information. The text print data to be stored is stored, the contour extraction means extracts the contour of the text image output based on the text print data, the calculation means calculates an circumscribing rectangle from the extracted contour, and the layout. The reference rectangle setting means sets the layout reference rectangle from the width of the circumscribing rectangle and the reference character height, the layout position setting means sets the layout position, and the layout means sets the layout reference rectangle and the layout position. An information processing method for laying out the text image based on the above, wherein the reference character height is calculated from the reference character height ratio corresponding to the typeface information and the character size information. Processing method. 記憶手段、輪郭抽出手段、計算手段、前記レイアウト基準矩形設定手段、レイアウト位置設定手段、レイアウト手段とを有する情報処理装置で実施される情報処理方法であって、 前記記憶手段が、書体情報と文字サイズ情報とを含む印刷属性データおよび文字列データを有するテキスト印刷データを記憶し、 前記輪郭抽出手段が、前記テキスト印刷データに基づき出力されるテキスト画像の輪郭を抽出し、 前記計算手段が、前記抽出された輪郭から外接矩形を計算し、 前記レイアウト基準矩形設定手段が、前記外接矩形の幅と基準文字高さとからレイアウト基準矩形を設定し、 前記レイアウト位置設定手段が、レイアウト位置を設定し、 前記レイアウト手段が、前記レイアウト基準矩形と前記レイアウト位置とに基づき、前記テキスト画像をレイアウトする情報処理方法であり、 前記基準文字高さは、前記書体情報に対応する基準文字高さ比率と前記文字サイズ情報とから算出されることを特徴とする情報処理方法。
Independent claims2
626 paragraphs, as filed
[0001] The present invention relates to an information processing apparatus and an information processing method having an editing function and a storage medium, for example, an information processing apparatus and an information processing method for creating a high-definition plate. It is suitable for use as a storage medium.
[0002] [Conventional Technology] As an example of an information processing device having the above-mentioned editing function, it is used for block copy of figures, characters, illustrations, etc. to be displayed on print data, particularly on the product body, its exterior package, manuals, and the like. There is an interactive drawing system such as CAD and DTP (Desk Top Publishing) that creates print data of. Conventionally, there have been the following methods for creating print data using such a system. (1) For printing, while displaying a rough image different from the printed image on the display device, after interactively editing and laying out figures and characters, the attributes necessary for printing are added. A method of creating data separately and printing it on a printing device. (2) While displaying an image similar to the printed image on the display device, after interactively editing and laying out figures and characters, the data displayed on the display device can be displayed in almost the same form. How to print with a printing device.
[0003] The method (2) is a method by a technique called WYSIWYG (What You See Is What You Get), in which the image displayed on the display device has the same display form as the image printed on the printing device. is there.
[0004] Further, when the print data is created without using the interactive drawing system, the following methods have been conventionally used. (3) Using a markup language such as TeX, create a program that describes the attributes required for printing, layout information, etc., along with graphic and character data, and print by executing the program in a batch process. A method of generating data and printing it on a printing device.
[0005] [Problems to be Solved by the Invention] However, each of the above-mentioned conventional examples has the following problems. The issues described below are described with numbers corresponding to the numbers assigned to the above-mentioned conventional examples. (1) Since the image printed on the printing device is quite different from the image displayed on the display device, in order to obtain the print result as the user expected, reprinting and correcting it many times. There was a problem that the user interface was not good.
[0006] Further, since the data for printing must be created separately from the data for display, there is a problem that the efficiency of data creation is not good. (2) In addition, when laying out figures and characters interactively using the WYSIWYG function as described above, the user will perform layout operations according to the image displayed on the display device.
[0007] However, since the accuracy at that time depends on the resolution of the display device, the content displayed on the display device and the printing device are used when printing with a printing device having a resolution much higher than that of the display device. There is a problem that an error occurs due to a difference in resolution between the print result and the print result.
[0008] For example, when creating print data such as block copy, when a precise layout such as "arrange the end points of the circumscribing rectangle of the visible part of characters and figures according to existing points" is required. Even if it seems to the user that it is laid out correctly on the display device, when actually printing with a high-definition printing device that has a resolution of about 5 to 30 times that of the display device, it is somewhat Due to the error, it was extremely difficult to perform precise alignment. (3) Also, when using a markup language such as TeX, as long as the correct layout is instructed, there will be no error due to the difference in resolution as in the method (2) above, but in interactive processing, Therefore, there is a problem that the user cannot perform the operation for the layout while looking at the result of the layout, and the user interface is worse than the method (1) above. In addition, even if a precise layout is not required, all layout instructions must be given accurately, which increases the labor and unnecessary operations for creating print data and reduces the work efficiency of the user. There was a problem that it would end up.
[0009] The present invention has been made to solve various problems of the above-mentioned conventional techniques, and can produce highly accurate print data, particularly character data, without deteriorating the work efficiency of the user. An object of the present invention is to provide an information processing apparatus, an information processing method, and a storage medium capable of accurately and easily creating print data including the data.
[Means for Solving the Problems] In order to achieve the above object, the information processing apparatus of the present invention has print attribute data including typeface information and character size information, and text print data having character string data. A storage means for storing the above, a contour extraction means for extracting the contour of the text image output based on the text print data, a calculation means for calculating the circumscribing rectangle from the extracted contour, and a width and reference of the circumscribing rectangle. A layout reference rectangle setting means for setting a layout reference rectangle based on the character height, a layout position setting means for setting a layout position, and a layout means for laying out the text image based on the layout reference rectangle and the layout position. The reference character height is calculated from the reference character height ratio corresponding to the typeface information and the character size information.
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(First Embodiment) [Explanation of Hardware Configuration] FIG. 1 is a block diagram showing a hardware configuration of an information processing apparatus according to an embodiment of the present invention.
[0015] In FIG. 1, reference numeral 21 denotes a central processing unit (CPU), which controls the entire device and performs arithmetic processing. In addition, 11 is a keyboard for inputting characters and numerical values, and 12 is a mouse for instructing coordinates and figures. In addition, 41 is a display device, which displays graphic data, character data, various operation panels and buttons.
[0016] Further, reference numeral 31 denotes a read-only storage device (ROM), and the program according to the present embodiment is stored in the ROM 31 and executed by the CPU 21. Reference numeral 32 denotes a read / write storage device (RAM), and during execution of the program according to the present embodiment, the CPU 21 performs processing while reading / writing data to the RAM 32, if necessary. Reference numeral 33 denotes an external storage device such as a floppy disk device (FD) or a hard disk device (HD), which stores data such as character typeface information and code information.
The program according to the present embodiment may be stored in the external storage device 33, read into the RAM 32, and then executed by the CPU 21. In addition, character typeface information, code information, and the like may be used. Data may be stored in the ROM 31 so that the CPU 21 can read and use the data as needed.
[0018] Reference numeral 51 denotes a laser printer, which prints the print data created by the present apparatus for calibration printing (output for confirming the print data) and outputs the contents of the print log file. Reference numeral 52 denotes an image setter, which prints the print data created by this device in a clear print (high-precision output that becomes a formal block copy). Reference numeral 53 denotes a laser marker, which prints the print data created by this device directly onto the product with a laser.
[0019] Hereinafter, the difference between the laser printer 51, the image setter 52, and the laser marker 53 will be described.
[0020] First, the laser printer 51 is a printer that irradiates a photosensitive drum with a laser to adsorb toner and transfer it to paper, and the resolution can be up to about 1500 DPI. Further, the image setter 52 is a printer that directly irradiates the photosensitive paper with a laser, and the resolution can be up to about 4000 DPI, and the paper size can be up to about A1. Further, the laser marker 53 is a printing device that directly irradiates a molded product with a laser to melt a resin material to blacken it, or to develop a color using a special material containing a filler.
[0021] Reference numeral 22 denotes a system bus, and all the elements of the hardware constituting the present device transfer programs and data via the system bus 22.
Next, the display function in the display device 41 according to the present embodiment will be described.
The information processing device according to the present embodiment has a so-called WYSIWYG function of controlling the display of graphic data and character data on the display device 41 with an image of the same display form as the output form at the time of printing. The figure explaining this is shown in FIG.
[0024] FIG. 2 (a) is a display example of WYSIWYG, and the display form of FIG. 2 (a) is the same as the output form of FIG. 2 (c) which is an example of the output result at the time of printing. There is. On the other hand, Fig. 2 (b) is an example of a display that is not WYSIWYG, and the display form of Fig. 2 (b) is different from the output form of Fig. 2 (c), which is an example of the output result at the time of printing. There is.
Next, an operation screen on the display device 41 according to the present embodiment will be described.
FIG. 3 is a diagram showing a main panel 61 displayed on the display device 41 when the program according to the present embodiment is executed.
In FIG. 3, 61 is the main panel, 62 is the drawing area, 63 is the mouse pointer, 64 is the character input area, 65 is the button group, 66 is the general-purpose button, 67 is the command menu, 68 is the guidance area, 71. Is a panel other than the main panel, and 72 is a button on panel 71. The buttons on Fig. 3 are all softkeys.
By operating an input device such as a keyboard 11 or a mouse 12 on the main panel 61, print data is created and edited interactively. The created print data is displayed in the drawing area 62.
[0029] Further, if necessary, various panels 71 other than the main panel 61 are displayed, and an operation may be performed on the panel 71.
[0030] Hereinafter, various input methods in the present embodiment will be described with reference to FIG.
[0031] When inputting from the keyboard 11, the character input area 64 is indicated by the mouse 12 or the keyboard 11, and then characters or numerical values are input.
[0032] Further, when inputting from the mouse 12, the following method is used.
[0033] First, there are the following two methods (1) and (2) as a method of selecting a specific element or button.
(1) Element selection: By moving the mouse pointer 63 to a place where there is print data displayed in the drawing area 62 and pressing down the left mouse button at that position, for example, the operation target. Select the element to be.
(2) Button selection: At the positions of various buttons 65 and general-purpose buttons 66 displayed on the main panel 61, and various buttons 72 displayed on the panel 71 displayed as needed. , Move the mouse pointer 63 and press down the left mouse button at that position to select the button to be operated.
[0036] Further, as a method of designating a specific position on the drawing area 62, there are the following five methods (3) to (7).
(3) Arbitrary designation: The position is designated by moving the mouse pointer 63 to an arbitrary position on the drawing area 62 and pressing down the right mouse button at that position, for example.
(4) Point designation: The position is designated by selecting a point as an element displayed in the drawing area 62.
(5) Feature point designation: By selecting an element other than the point displayed in the drawing area 62, the CPU 21 extracts the feature point of the element and specifies the position.
[0040] Here, when there are a plurality of feature points, the method of specifying one point is a method in which the CPU 21 automatically extracts the feature point closest to the position of the mouse pointer 63 when the element is selected. There is a method of designating one more point from the existing feature points.
FIG. 4 shows an example of feature points of each element of graphic data. In the figure, the points indicated by * are the feature points. The specific positions of these feature points are as shown below. -Line segment: both ends, middle point-Circle: center point, intersection of a straight line drawn from the center of the circle in the X and Y axes directions (4 points) -Arc: center point, both ends, middle point (arc Elliptical: Center point, minor axis of elliptical axis and intersection of major axis and ellipse (4 points) Elliptical arc: center point, both ends, minor axis and major axis of elliptical arc and elliptical arc Intersection with an ellipse (4 points) including , Curve control point, middle point (point that divides the distance of the free curve into two) [0042] (6) Intersection designation: One or two line elements such as line segments and circles displayed in the drawing area 62. By selecting individual elements, CPU21 calculates the intersection of those elements and specifies the position.
[0043] Here, when a single line element has an intersection by itself, that is, when it self-intersects, it is sufficient to select one line element. In other cases, specify two line elements.
[0044] When there are a plurality of intersections, there are a plurality of methods for identifying one point by the CPU 21 automatically extracting the intersection closest to the position of the mouse pointer 63 when the element is selected first or later. There is a method of designating one more point from the intersections.
FIG. 5 shows an example in which a line segment and an arc are selected as elements and their positions are specified by specifying intersections. In the figure, the elements are selected in the order of line segment and arc at the position indicated by the check mark, and the position marked with * indicates that the intersection is specified.
(7) Specifying a point on the line: By selecting one line element such as a line segment or a circle displayed in the drawing area 62, the line closest to the position of the mouse pointer 63 at that time. CPU21 calculates the point on the element and specifies the position.
FIG. 6 shows an example in which an arc is selected as an element and a position is specified by specifying a point on the line. In the figure, the element is selected at the position indicated by the check mark, and the position marked with * is indicated by specifying the point on the line. The points marked with a check mark are points near the arc, and the points marked with * are points on the arc.
[0048] Next, the "command" handled in this embodiment will be described. In this embodiment, each unit of print data creation and editing work is called a "command".
[0049] The commands handled in the present embodiment include commands for creating each element (drawing command) such as points, straight lines, circles, and curves, and shapes and attributes of each element such as move, copy, delete, and attributes. There are commands (correction commands) to modify, etc., and other commands related to files, prints, registration marks, bar codes, etc.
[0050] To create or edit print data, first select one arbitrary command according to the unit of work. The command can be selected by inputting the command name from the keyboard 11 in the character input area 64 or by selecting the button 65 on the main panel 61 in which the command name is preset.
[0051] When a command is selected, if there is a command that has already been selected, the end processing of that command is performed. Subsequently, the initial processing of the newly selected command is performed, and the processing in the command is started.
[0052] When a command is selected, a command menu 67 for selecting a finer unit of work within the selected command is displayed on the display device 41. The user can perform various editing operations by selecting a button of any menu item of the command menu 67. An instruction as to what kind of operation the user should perform is displayed in the guidance area 68 each time according to the work situation, so that the user may perform the operation according to this instruction.
[Explanation of Print Data] Elements of Print Data Next, what kind of elements exist in the graphic data and the character data that constitute the print data that can be created by the information processing apparatus according to the present embodiment. I will explain in detail.
[0054] The elements of graphic data and character data that can be created by the information processing apparatus according to the present embodiment are roughly classified into the following five types (A) to (E). (A) Basic figures: points, lines, line segment sequences (open / closed), circles, arcs, ellipses, elliptical arcs, free curves (open / closed) (B) Fill figures (C) Other figures: dragonflies, bars Code (D) Text (E) Group Figure: Symbol, Illustration [0055] The element here is actually figure data or character data with attributes required for print data (called print attributes) added. , Means a unit of data that is laid out as print data. Moreover, if a plurality of elements laid out as print data are grouped together, it can be treated as one element.
[0056] Then, the above five types (A) to (E) will be described in detail below.
[0057] First, the basic graphic of (A) is an element of the most basic graphic data. In addition, a rectangle (a rectangle whose sides are parallel to the X and Y axes) and a regular polygon composed of a line segment sequence can be treated as elements of a basic figure. In addition, as a free curve, expression forms such as Bezier, rational Bezier, B-spline, Hermitian, and NURBS can be handled.
[0058] Further, in the filled figure of (B), a closed area is formed by connecting the elements (excluding points) of (A) alone or by connecting a plurality of elements (excluding points), and the inside of the filled figure is filled with the figure data. It is an element. There are four types of filling methods as follows. (1) Fill area: Fill the inside evenly. (2) Hatching: Fill with multiple line segments with a constant slope and spacing. A specific point in the filled figure can also be specified as a hatch reference point. (3) Mesh: Fill with repeating figures of a certain shape such as circles, rectangles, and regular polygons. A specific point in the filled shape can also be specified as a reference point for the mesh. (4) Pattern: Fill with a repeating bit pattern created in advance.
[0059] Further, other figures in (C) include registration marks, barcodes, and the like. These elements include both graphic data and character data.
[0060] Further, the text of (D) is an element of character data. It can be laid out as print data in the same way as the graphic data element, but the type of print attribute and the layout method are different from the graphic data element.
Finally, the group figure of (E) can be any one or more of each element of the basic figure of (A), the filled figure of (B), the other figures of (C), and the text of (D). There are symbols and illustrations for selecting as many as the number of and treating them as one element.
[0062] Print attributes of print data Next, what kind of print attributes exist in the print attributes of graphic data and character data, which are print data that can be created by the information processing apparatus according to the present embodiment, will be concretely described. I will explain to.
[0063] The print attributes of graphic data and character data that can be created by the information processing apparatus according to the present embodiment are roughly classified into the following seven types (a) to (g).
[0064] First, there are the following three types of print attributes (a) to (c) that are common to graphic data and character data. (a) Display attribute: Specify whether or not to display the element, and when displaying, what kind of hierarchical relationship is displayed (called display priority). (b) Selection attribute: Specify whether or not element selection is possible. If element selection is disabled, operations on that element cannot be performed. (c) Color attribute: The color of the element is expressed by giving the type of color model such as RGB or HLS and the value of the color code. When using a monochrome printing device such as display device 41 or laser printer 51 that cannot express colors other than white and black, it is converted to either white or black color and output depending on the color attribute. Will be done.
Next, there are three types of print attributes peculiar to graphic data (d) to (f) shown below. (d) Point attribute: In the case of a point element, a symbol can be displayed at a point or a character string can be displayed. (e) Line attributes: In the case of elements (line elements) of basic figures other than points, the following various line attributes can be expressed. -Line type: Indicates the shape of the line element, and includes solid line, broken line, one-dot chain line, and two-dot chain line. -Line width: Indicates the size of the line element in the normal direction. It is possible to specify a predetermined type such as a thin line, a medium line, a thick line, or the actual size. -Line width direction: Indicates which direction to offset by the line width from the case where the line width is not considered. -Terminal shape: The terminal shape of an open figure such as a line segment or an arc, such as round, flat, or square. -Connection shape: The shape of the corners of figures such as line segment rows and rectangles, such as miter, round, and bevel. -Line pitch: When the line type is other than the solid line, the length of the part where the line exists and the part where the line does not exist can be given by the actual size or the parameter, respectively. (f) Fill attribute: For fill graphic elements, the type of internal fill method such as fill area, hatch, mesh, pattern, etc., required detailed data for hatch or mesh, pattern number for pattern give.
Finally, there is only one type of print attribute peculiar to character data (g) shown below. (g) Character string attribute: In the case of a text element, the attribute of the entire character string and the attribute of each character that composes the character string can be expressed as shown below.
[0067] Note that other terms related to the character string attribute and the text will be described later as necessary when the procedure for creating the text is explained. -Typeface: Represents a set of character designs, including courier, helvetica, and gothic. -Flat ratio: Shows how much the character is shrunk in the line spacing direction (height direction) of the character as a ratio. -Long body ratio: Expresses how much a character is shrunk in the letter-spacing direction (width direction). -Character size: Indicates the size of a character, and generally (to be exact, when the italic angle is 0 and the flatness ratio is 1), the line spacing direction of the rectangular area (character box) occupied by one character. Equal to height. -Base angle: Indicates the angle between the letter-spacing direction (width direction) and the X-axis. -Character direction: Indicates the rotation angle of the character with respect to the character feed direction (width direction). -Italic angle: Indicates the tilt angle of the character with respect to the character feed direction (width direction). -Character spacing: Indicates the spacing between two adjacent characters on the same line in the letter-spacing direction (width direction). -Line spacing: Indicates the spacing in the line feed direction (height direction) of characters on two adjacent lines of a character string consisting of multiple lines. -Horizontal inversion flag: Inverts the character string horizontally. It passes through the coordinates of the character string start point (basic character string data: described later), and has a line-symmetrical shape centered on the line feed direction (height direction) of the character. -Vertical inversion flag: Inverts the character string in the vertical direction. It passes through the coordinates of the character string start point (basic character string data: described later), and has a line-symmetrical shape centered on the character feed direction (width direction) line.
[0068] Fig. 47 shows a diagram for explaining the base angle among the character string attributes. In the figure, the solid rectangle surrounding each character represents the character box of each character. The dotted rectangle represents the position of the character box when the base angle is 0.
[0069] FIG. 48 shows a diagram for explaining the character direction among the character string attributes. In the figure, the solid rectangle surrounding each character represents the character box of each character. The dotted rectangle represents the position of the character box when the character direction is 0.
[0070] FIG. 49 shows a diagram for explaining the italic angle among the character string attributes. In the figure, the solid parallelogram surrounding each character represents the character box for each character. The dotted rectangle represents the position of the character box when the italic angle is 0.
FIG. 50 shows a diagram for explaining the horizontal inversion flag and the vertical inversion flag among the character string attributes. In the figure, the two straight lines, horizontal and vertical, represent the axis of symmetry when inverted. The intersection of the two straight lines is the starting point of each string.
Data structure of print data Next, the data structure of print data in the present embodiment will be described. The print data in the present embodiment is generally composed of a plurality of element data and a plurality of print attribute data as described above.
[0073] Here, each element data basically has a configuration of a data type code, a data number, required data for each element, and a data number for required print attribute data for each element.
[0074] Then, the type of each element data in the print data can be specified by the data type code uniquely assigned in the print data. In addition, each element data in the print data can be specified by the data number uniquely assigned in the print data. The types of required data and required print attributes are different for each element, but the CPU21 can identify these by the data type code.
[0075] Further, each print attribute is not retained for each element data, but only the data number of the required print attribute data is retained in each element data. This makes it possible to avoid duplication of print attribute data, reduce the capacity of print data, and change the print attributes of a plurality of element data with a single operation.
[0076] Then, first, the data structure of each element of the graphic data and the character data will be specifically shown below.
(A) Basic figure (1) Point, data type code, data number, point coordinate: c [2], display attribute data number, selection attribute data number, color attribute data number, point attribute data Number (2) Line segment, data type code, data number, start point coordinate: s [2], end point coordinate: e [2], display attribute data number, selection attribute data number, color attribute data number, line attribute Data number (3) Line branch, data type code, data number, number of passing points: np, coordinates of each passing point: pp [2] (np), data number of display attribute, data number of selection attribute, color attribute Data number Line attribute data number (4) Circle Data type code Data number Center coordinates: c [2] Radius: r Display attribute data number Selected attribute data number Color attribute data number Line attribute data number (5) Arc Data type code Data number Start point coordinate: s [2] End point coordinate: e [2] Center coordinate: c [2] Rotation direction flag (clockwise / counterclockwise) (Clockwise) -Display attribute data number-Selection attribute data number-Color attribute data number-Line attribute data number (6) Ellipse-Data type code-Data number-Center coordinates: c [2] -Major axis vector : a [2] Short axis vector: b [2] Display attribute data number Select attribute data number Color attribute data number Line attribute data number (7) Elliptical arc Data type code Data number Start point coordinates: s [2] End point coordinates: e [2] Center coordinates: c [2] Major axis vector: a [2] Minor axis vector: b [2] (Clockwise) -Display attribute data number-Selection attribute data number-Color attribute data number-Line attribute data number (8) Free curve (in the case of Bezier curve) -Data type code-Data number-Number of curves: nv -Control point data of each curve (nv): Number of control points: nc Coordinates of each control point: pc [2] (nc) Weight coefficient: w-Number of passing points: np-Coordinates of each passing point:pp [2] (np pieces) -Display attribute data number-Selection attribute data number-Color attribute data number-Line attribute data number [0078] (B) Filled figure-Data type code-Data number-Layout standard Rectangle lower left point coordinates: p1 [2] Layout reference rectangle upper right point coordinates: p2 [2] Number of loops: nl Component data of each loop (nl): Number of components: nd Component data: Excluding points Basic graphic element data (nd number) -Passing reference point coordinates: pp [2] -Display attribute data number-Selection attribute data number-Color attribute data number-Fill attribute data number-Frame display attribute data number -Data number of the frame color attribute-Data number of the frame line attribute (In the filled figure, in addition to the print attribute inside the filled figure, the print attribute of the frame of the filled figure is separately set, for example. , It is possible to display by changing the internal color attribute and the color attribute of the frame.) [0079] (C) Other figures (1) Dragonfly, data type code, data number, dragonfly type flag (dragonfly) / Scale dragonfly) Dragonfly shape flag (11 types for dragonfly / 3 types for scale dragonfly) Dragonfly offset flag (with / without offset) Print data name (for scale dragonfly) Dragonfly length (scale) (For dragonfly) Layout reference point coordinates: pb [2] Output magnification: sc Layout reference rectangle lower left point coordinates: p1 [2] Layout reference rectangle upper right point coordinates: p2 [2] Number of components: nd Component data: Line segment for dragonfly, line segment, circle, or text element data for scale dragonfly (nd) (2) Bar code, data type code, data number, bar code type flag ( 4 types) Code data Code display flag (with / without code display) Layout reference position flag (9 types such as lower left / center / upper right) Layout reference point coordinates: pb [2] Layout angle: ang Layout scale : sc Layout reference rectangle lower left point coordinates: p1 [2] Layout reference rectangle upper right point coordinates: p2 [2] Number of components:nd Component data: Either line or text element data (nd) [0080] (D) Text (1) Basic character string (elements that make up the text) Data type code Data number Character string Start point coordinates: pt [2] -Number of character string bytes: nch-Character string data: str (nch bytes) -Layout angle: ang-Layout scale: sc-Display attribute data number-Selection attribute data number-Color attribute Data number / Character string attribute data number (2) Text / Data type code / Data number / Character string Registration name: rgnam-Control character string data: ctext-Group format flag (horizontal / vertical): form-Layout Target type (point / rectangle): lytyp Layout reference point coordinates: pb [2] Overall length: widln (valid only for point layout) Height priority flag: hfix (valid only for point layout) Layout Reference position flag (9 types such as lower left / center / upper right): datum (valid only for point layout) Automatic carning flag (with / without): aker Layout target rectangle width: wrect (valid only for rectangular layout) Layout target rectangle Height: hrect (valid only for rectangular layout) Layout target rectangle tilt: correct (valid only for rectangular layout) Alignment flag (left / center / right / both ends): adj (for rectangular layout) (Valid only) Text layout rectangle lower left point coordinate: pll [2] Text layout rectangle upper right point coordinate: plr [2] Text circumscribed rectangle left lower point coordinate: pdl [2] ] -Number of components: nd-Basic character string data: Element data of basic character string (nd) -Basic character string layout information data:Data for laying out basic character strings (nd) (text elements are composed of a combination of multiple basic character string elements. This allows one text element to have multiple character string attributes. It is possible to handle character strings. For example, it is possible to control the style of characters in the middle of one text, the height and width of characters, and so on.) [0081] (E) Group diagram (1) Symbol, data type code, data number, folder name, file name, layout reference position flag (9 types such as lower left / center / upper right) Layout reference point coordinates: pb [2] Layout angle: ang Layout scale: sc Layout reference rectangle lower left point coordinates: p1 [2] Layout reference rectangle upper right point coordinates: p2 [2] Inversion flag (with / without inversion) Line width scale flag (with / without line width scale) Line width scale value (2) Illustration Data type code Data number Folder name File name Layout reference position flag (9 types such as lower left / center / upper right) Layout reference point coordinates: pb [2] Layout angle : ang Layout scale: sc Layout reference rectangle lower left point coordinates: p1 [2] Layout reference rectangle upper right point coordinates: p2 [2] Inversion flag (with / without inversion) Number of components: nd Component data : Arbitrary element data (nd number) (Characteristics of the data structure of the symbol and the illustration, and the file structure of the symbol data file and the illustration data file will be described later.) [0082] Next, the data structure as described above is provided. The data structure of the print attribute data with respect to the element data to be described will be described.p1 [2] Layout reference rectangle Upper right point coordinates: p2 [2] Inversion flag (with / without inversion) Line width scale flag (with / without line width scale) Line width scale value (2) Illustration / data type Code, data number, folder name, file name, layout reference position flag (9 types such as lower left / center / upper right) Layout reference point coordinates: pb [2] Layout angle: ang Layout scale: sc Layout reference rectangle lower left Point coordinates: p1 [2] Layout reference rectangle Upper right point coordinates: p2 [2] Inversion flag (with / without inversion) Number of components: nd Component data: Arbitrary element data (nd) (symbols and The characteristics of the data structure of the illustration and the file structure of the symbol data file and the illustration data file will be described later.) [0082] Next, the data structure of the print attribute data for the element data having the data structure as described above will be described. To do.p1 [2] Layout reference rectangle Upper right point coordinates: p2 [2] Inversion flag (with / without inversion) Line width scale flag (with / without line width scale) Line width scale value (2) Illustration / data type Code, data number, folder name, file name, layout reference position flag (9 types such as lower left / center / upper right) Layout reference point coordinates: pb [2] Layout angle: ang Layout scale: sc Layout reference rectangle lower left Point coordinates: p1 [2] Layout reference rectangle Upper right point coordinates: p2 [2] Inversion flag (with / without inversion) Number of components: nd Component data: Arbitrary element data (nd) (symbols and The characteristics of the data structure of the illustration and the file structure of the symbol data file and the illustration data file will be described later.) [0082] Next, the data structure of the print attribute data for the element data having the data structure as described above will be described. To do.
[0083] Here, each print attribute data basically has a configuration of a data type code, a data number, an attribute setting flag, and necessary data for each print attribute.
[0084] The type of each print attribute data in the print data can be specified by the data type code uniquely assigned in the print data. In addition, each print attribute data in the print data can be specified by the data number uniquely assigned in the print data. Although the required data is different for each print attribute, the CPU 21 can identify them by the data type code.
[0085] Further, the attribute setting flag is a flag that specifies whether or not the print attribute data is valid. In the element data indicating the print attribute data for which the attribute setting flag is valid, the elements are displayed according to the corresponding print attribute data. On the other hand, in the element data indicating the print attribute data for which the attribute setting flag is invalid, it is considered that the corresponding print attribute is not set, and the default stored in the ROM 31 or the external storage device 33 in advance. The elements are displayed according to the print attributes.
[0086] Further, when the data structure is such that each element data can have a hierarchical relationship, it is possible to control the display according to the print attribute of the upper (or lower) element.
[0087] Then, the data structure of each print attribute data will be specifically shown below. (a) Display attribute, data type code, data number, attribute setting flag (valid / invalid), display flag (display / non-display), display priority (b) Selection attribute, data type code, data number, attribute setting flag ( Valid / invalid) Element selection flag (possible / impossible) (c) Color attribute Data type code Data number Attribute setting flag (valid / invalid) Color code type flag (RGB / HLS) Color code 1, 2 , 3 (d) Point attribute, data type code, data number, attribute setting flag (valid / invalid), marker character string (e) line attribute, data type code, data number, attribute setting flag (valid / invalid), line Seed flag (solid line / broken line / one-point chain line / two-point chain line / arbitrary broken line / arbitrary one-point chain line / arbitrary two-point chain line) Line width flag (thin line / middle line / thick line / extra-thick line / arbitrary line width) Line width direction flag (Center / Inside / Outside) Termination shape flag (Round / Flat / Square) Connection shape flag (Miter / Round / Bevel) Line type data 1, 2, 3, 4 (Line type = arbitrary) Line Width data (line width = arbitrary) (f) Fill attribute, data type code, data number, attribute setting flag (valid / invalid), fill type flag (with fill / without fill / hatch / mesh number / pattern number, etc.) ) Number of data groups: nd Fill data 1, 2, 3 (nd) (g) Character string attribute Data type code Data number Attribute setting flag (valid / invalid) Font code: fontno Flat rate : rexp Length ratio: rcnd Character size: hbox Base angle: abas Character direction: alet Oblique angle: asln Character spacing: dflet Line spacing: dflin Horizontal inversion flag (with / without): hflp Vertical Inversion flag (with / without): vflp [0088] Fig. 7 shows an example of a print data file created by the information processing apparatus according to the present embodiment based on the data structure of the print data shown above.
[0089] The print data shown in FIG. 7 is for printing a figure having a shape as shown in FIG. 8, and in the present embodiment, the figure represented by the print data shown in FIG. 7 is , Consists of the elements of the basic figure, consisting of one line segment, two circles, and two points (these two points are hidden and cannot be selected), the lower left point and the upper right point of the circumscribing rectangle of these three elements. In addition, these one line segment row and two circles have the same display attribute (display), selection attribute (selectable), and line attribute (solid line, line width 20 mm), and are different colors from each other. It is assumed that it has an attribute.
Data structure of group figure Then, among the above-mentioned data structures of print data, the data structure of symbols and illustrations which are group figures will be described in detail.
First, the data structure of the symbol will be described.
[0092] In the present embodiment, a symbol is a graphic that is repeatedly used, such as a symbol defined by a standard or a logo mark, and is an element of graphic data (line segment, circle, etc.) or an element of character data. It is an element created by combining (text).
[0093] In the case of symbol data, when the contents of the symbol data file are updated due to a change in the standard or the like, all the corresponding symbols that have already been laid out as a part of the print data are updated. Data can be kept in sync.
[0094] Therefore, in the information processing apparatus according to the present embodiment, the symbol data is held in the following data structure.
[0095] That is, in the print data, only the folder name and the file name for specifying the location of the symbol data file, and the information necessary for laying out the symbol are stored.
[0096] Further, a symbol data file is created separately from the print data file in which the print data is saved in the file. The symbol data file has the following file structure. -Layout reference rectangle lower left point coordinates: p1 [2] -Layout reference rectangle upper right point coordinates: p2 [2] -Component data: Arbitrary element data (plural) -Print attribute data: Required print attribute data (plural) [ Although the layout reference rectangle will be described later, if the layout reference rectangle is defined, it is possible to specify the position and size information necessary for laying out the symbol as print data. For example, as the layout reference rectangle, it is possible to specify the smallest rectangle (called an circumscribing rectangle) that surrounds the visible portion of the symbol.
[0098] When the symbol data file is created, if the data of the circumscribing rectangle of the corresponding symbol is registered as the layout reference rectangle, the circumscribing rectangle of the symbol is recalculated when the symbol data file is read again. You don't have to.
[0099] Each component data of the symbol is represented by a relative coordinate value with respect to the lower left point of the layout reference rectangle.
[0100] Further, for each print attribute data, the print attribute data required for displaying each component data is held separately from the element data, as in the case of the print data.
[0101] As a result, even if the print data file including the changed symbol is not updated, the corresponding print data file is simply read from the external storage device 33 into the RAM 32 again, and the print data is included in the print data. The symbol data of is replaced with the contents of the latest symbol data file, and the data can be synchronized automatically.
Next, the data structure of the illustration, which is another group figure, will be described.
[0103] In the present embodiment, an illustration is a figure that is repeatedly used like a template figure, and like a symbol, it is also an element of graphic data (line segment, circle, etc.) or character data. It is an element created by combining elements (text).
[0104] Unlike a symbol, an illustration is laid out as a part of print data, and then it is not synchronized with the contents of the original illustration data file, and it is desired to freely change the illustration. used.
Therefore, in the case of illustration data, unlike the symbol data, even if the content of the illustration data file is updated, the corresponding illustration that has already been laid out as a part of the print data is updated and synchronized. Never maintain.
Therefore, in the information processing apparatus according to the present embodiment, the data of the illustration is held in the following data structure.
[0107] That is, in the print data, in addition to the folder name and the file name for specifying the location of the illustration data file and the information necessary for laying out the illustration, the print data is read from the illustration data file. However, it holds the data of each element that actually composes the illustration.
[0108] Further, an illustration data file is created separately from the print data file. The illustration data file has the following file structure. -Layout reference rectangle lower left point coordinates: p1 [2] -Layout reference rectangle upper right point coordinates: p2 [2] -Component data: Arbitrary element data (plural) -Print attribute data: Required print attribute data (plural) [ 0109 This structure is similar to the file structure of the symbol data file. When reading this into print data, the specified layout reference point coordinates are used as the origin, and each component data in the illustration data file is expanded (coordinate-converted) according to the specified layout angle and layout scale, and printed. It is different from the symbol in that it holds all the data as illustration element data.
[Creation of print data] Then, the procedure for specifically creating print data will be described in detail by dividing it into two cases of graphic data and character data. In the present embodiment, a case where a symbol is created as an example of graphic data will be described, and a case where a text will be created as an example of character data will be described.
[0111] Creating a symbol First, as an example of creating graphic data, a case of creating a graphic as shown in FIG. 8 will be described.
[0112] The symbol shown in FIG. 8 is composed of basic figures such as two circular elements and one line segment sequence element. Here, there are three flows: (A) laying out the basic figure as print data (B) grouping the symbol components and registering them as symbols (C) calling the registered symbols and laying them out as print data. The explanation will be divided into.
[0113] First, a process of laying out a basic figure as print data will be described.
(A) Layout of Basic Figure FIG. 9 shows a flowchart illustrating a procedure for laying out the basic figure as print data.
[0115] First, input necessary information such as coordinate values and radii necessary for creating a basic figure (step S0901). The input processing of this necessary information will be described in detail later. Next, a print attribute is added to the graphic data so that it can be used as print data (step S0902). The process of adding the print attribute will be described in detail later.
Then, when the print attribute is added in step S0902, the CPU 21 then registers the created basic graphic element data in RAM 32 as print data (step S0903). Further, the CPU 21 displays the created basic graphic element in the drawing area 62 (step S0904).
[0117] Hereinafter, the input processing of the necessary information in step S0901 will be described.
[0118] This is an operation different depending on the type of the basic figure.
[0119] For example, when creating a circle, the operation is as follows. (1) The position of the center of the circle is specified by element selection or arbitrary specification of a point that already exists with the mouse 12, or by inputting the coordinate values of X and Y with the keyboard 11. (2) Specify the position of one point on the circumference by selecting an element that already exists with the mouse 12 or arbitrarily specifying it, or by inputting the coordinate values of X and Y with the keyboard 11. Alternatively, use keyboard 11 to enter the radius.
[0120] In addition to the above method of specifying one point on the center and the circumference, or the center and the radius, a method of specifying three different points on the circumference, and two different points and the radius on the circumference are specified. There are ways to do it.
Further, since these operation procedures are displayed in the guidance area 68, the user may perform the operation according to this instruction.
[0122] When creating a line segment sequence, the operation is as follows. (1) Specify the position of the start point of the line segment sequence by selecting an element that already exists with the mouse 12 or arbitrarily specifying it, or by inputting the X and Y coordinate values with the keyboard 11. (2) In the same way, specify any number of passing points. (3) Instruct the end of the designation of the passing point by selecting the general-purpose button 66 or the like.
Next, the process of adding the print attribute in step S0902 will be described below.
[0124] First, the types of print attributes of graphic data are as described above.
[0125] As an example, FIG. 10 shows graphic data in a state in which a print attribute is not added and graphic data in a state in which a print attribute is added. It can be seen that the differences in line width, end shape, connection shape, etc. cannot be expressed when the print attribute is not added. The state in which the print attribute is not added is a case where the attribute setting flag is invalid in the structure of the print attribute data described above. Even when the attribute setting flag is disabled, the shape of the graphic data is output with a predetermined print attribute.
[0126] In order to add a print attribute to an element of graphic data, a dedicated panel displayed on the display device 41 is required.
[0127] FIG. 11 shows a graphic data print attribute editing panel 1101 used to add such an element of graphic data. The user can edit the print attribute on the graphic data print attribute edit panel 1101.
[0128] When the graphic data print attribute editing panel 1101 is displayed, a type other than the solid line is selected as the line type, and further, when the "line pitch" button of the graphic data printing attribute editing panel 1101 is selected, the button is selected. , The line pitch editing panel 1201 corresponding to each type of the broken line, the alternate long and short dash line, and the two-dot chain line as shown in FIG. 12 is displayed. Then, the line pitch data can be edited on the line pitch editing panel 1201. FIG. 12 shows a display example in the case of the alternate long and short dash line.
[0129] To edit the print attribute, on the graphic data print attribute edit panel 1101, specify the character input area of the print attribute to be edited with the mouse 12 or the keyboard 11, and input the numerical data with the keyboard 11. Or, select the button of the item to be selected, and then select the "Set" button.
[0130] When setting print attributes for the print data to be created from now on, input each print attribute by the above method on the graphic data print attribute edit panel 1101, and then graphic data. You just have to create each element of.
[0131] Further, once the print attributes are set, the CPU 21 saves them as the current print attributes in the RAM 32, so that it is not necessary to set the print attributes every time the element is created. ..
[0132] Further, when the program is terminated, the CPU 21 saves the current print attribute in the external storage device 33, and when the program is executed next time, the CPU 21 reads the current print attribute into the RAM 32 again. There is no need to reset the current print attributes each time. The current print attributes that are common to all users and those that are individually set by each user can be stored separately in the RAM 32 or the external storage device 33.
[0133] When editing the print attribute for the print data already created, if the element displayed in the drawing area 62 is selected, the CPU 21 determines whether it is graphic data or character data. In the case of graphic data, the graphic data print attribute editing panel 1101 is displayed on the display device 41.
At this time, the current print attribute of the element selected element is displayed on the graphic data print attribute edit panel 1101, so after editing the print attribute by the above method, click the "Set" button. You can select it. The target element on the drawing area 62 is redrawn according to the new edited print attribute.
[0135] The procedure for laying out the basic figure as print data has been described above.
[0136] Next, a process of grouping the components of the symbol and registering them as the symbol will be described.
(B) Grouping of Elements and Registration of Symbols FIG. 13 shows a flowchart illustrating a procedure for grouping the components of a symbol and registering them as symbols.
[0138] First, the target elements to be registered as symbols are grouped (step S1301). The grouping process of the target elements will be described in detail later.
Next, when the elements constituting the symbol are specified in step S1301, the CPU 21 extracts contour information for each of these elements in consideration of the print attribute (step S1302). The extraction process of this contour information will be described in detail later.
[0140] After extracting the contour information of each target element in step S1302, the CPU 21 calculates the circumscribed rectangle from the extracted contour information (step S1303).
[0141] The circumscribing rectangle referred to here is a rectangle of the minimum size surrounding the visible part of the element, and is specified by giving X and Y coordinates of two diagonal points.
[0142] As described above, since the circumscribing rectangle of the element can be specified by two diagonal points, the values of the maximum X and Y coordinates and the minimum X and Y coordinates are calculated from the extracted contour information, and the circumscribing rectangle is calculated. If the lower left and upper right points of are given as the lower left point (minimum X coordinate of contour information, minimum Y coordinate of contour information) and the upper right point (maximum X coordinate of contour information, maximum Y coordinate of contour information), The circumscribing rectangle can be easily obtained.
[0143] Then, when the circumscribed rectangle of the grouped elements is obtained in step S1303, the CPU 21 superimposes the circumscribed rectangle of the grouped elements already displayed in the drawing area 62 and displays the circumscribed rectangle (step). S1304). The display is, for example, as shown in FIG.
Next, a layout reference rectangle that defines the layout reference information of the grouped elements is set (step S1305). The setting process of this layout reference rectangle will be described in detail later.
[0145] Then, by the above series of processing, the elements to be registered as symbols are grouped, and the layout reference rectangle is obtained. Therefore, the character input by the user from the keyboard 11 or the like as the key for identifying the symbol. Determine the column as the name of the symbol (step S1306).
Finally, the CPU 21 stores data related to the symbol in the external storage device 33 as a symbol data file having a structure as shown in FIG. 7 above (step S1307).
[0147] When the layout reference rectangle is set in this way, the layout reference position in the structure of the symbol data file shown in FIG. 7 is not explicitly specified, but when it is saved in the symbol data file, it is saved. May always set the lower left point of the layout reference rectangle as the layout reference position.
[0148] Further, the coordinate data of each element constituting the symbol is expressed by the relative coordinates from the layout reference position.
[0149] Hereinafter, the grouping process of the target elements in step S1301 will be described.
[0150] There are the following methods for grouping elements. This method can be used not only when grouping elements but also when a plurality of elements are grouped together and processing such as copying, moving, and deleting is performed at once.
(1) Continuous element selection: Elements to be grouped are selected element by element. To finish element selection, press the general-purpose button 66 on the main panel 61, or double-click any button on the mouse on the drawing area 62 (press the button twice in a short time).
(2) Rectangle area designation: Specify by enclosing the area including the elements to be grouped with a rectangle. In order to specify the rectangle, the positions of the two diagonal points may be specified by a method such as arbitrary designation or point designation. In this case, the element whose entire inside is included in the specified rectangle is targeted.
[0153] FIG. 14 shows an example of a state in which a target element is selected by this method.
[0154] In FIG. 14, when the position indicated by the * mark is specified, a rectangle indicating the area is displayed in the drawing area 62. In the figure, the element indicated as "selection" is selected and is actually displayed in red or the like so that it can be identified.
[0155] It should be noted that an element that is partially included inside the specified rectangle may be targeted, or an element that is not included at all inside the specified rectangle may be targeted.
(3) Arbitrary area designation: Specify by enclosing the area including the elements to be grouped with a polygon. Each point constituting the polygon may be specified by a method such as arbitrary designation or point designation. In this case, the element whose part is included inside the specified polygon is targeted.
[0157] FIG. 15 shows an example of a state in which a target element is selected by this method.
[0158] In FIG. 15, when the position indicated by * is specified, a polygon indicating the area is displayed in the drawing area 62. In the figure, the element indicated as "selection" is selected and is actually displayed in red or the like so that it can be identified.
[0159] It should be noted that an element that is entirely contained inside the specified polygon may be targeted, or an element that is not completely contained inside the designated polygon may be targeted.
Next, the contour information extraction process in step S1302 will be described.
[0161] FIG. 16 is a diagram showing the result of extracting the contour information of the symbol shown in FIG.
[0162] Contour information can be expressed as a concatenation of line elements such as line segments, circles, arcs, ellipses, elliptical arcs, and free curves. However, in the contour information, it is not necessary to consider print attributes such as line width, and the figure itself is regarded as a figure having no area.
[0163] The methods for extracting the contour information of the graphic data and the character data to which the print attribute is added are as follows.
(1) Method of displaying on the display device as it is: In the information processing device according to the present embodiment, as shown in FIG. 2, the WYSIWYG function is realized, so that the data to which the print attribute is added can be displayed. , The image is displayed on the display device 41 with the same display form as the output form at the time of printing.
[0165] For example, when this WYSIWYG function is realized by Display PostScript (DPS), a PostScript (PS) instruction (PS) for extracting contour information of graphic data or character data ( The operator) may be issued for the displayed graphic data or character data.
[0166] The coordinate data of the contour information obtained thereby is quantized data in which the size of dots on the screen of the display device 41 is the minimum unit. Therefore, this value generally includes an error.
Assuming that the width and height of one dot of the display device 41 is Dd (inch), the actual coordinates are the boundary between the two dots as shown in (b) and (c), as shown in FIG. Also, considering the case where the positions of the corners of the four dots match, as in (d), the error of the obtained coordinate data is Dd * 2 (inch) at the maximum.
[0168] In FIG. 17, the position indicated by * indicates the actual coordinate position that has not been quantized, and the rectangle indicated by the diagonal line indicates the dot on the screen at that time, that is, the quantized value. ..
[0169] Assuming that the resolution Rd of the display device 41 is approximately Rd = 100 (DPI), the error is about Dd * 2 = (1 / Rd) * 2 = 1/50 (inch) (Equation 1). It becomes.
[0170] In a high-resolution printing device such as the image setter 52, the resolution Rp is about Rp = 3000 (DPI), and if the width and height of one dot are Dp (inch), an error at the time of output is obtained. Is about Dp * 2 = (1 / Rp) * 2 = 1/1500 (inch) (Equation 2), and the coordinate data obtained from the result displayed on the display device 41 does not necessarily have sufficient accuracy. There is a high possibility that you cannot say it.
[0171] However, in this method, contour information of graphic data and character data can be easily obtained only by calling a PS operator. Therefore, in particular, print data that does not require high accuracy higher than the resolution of the display device 41. For example, when creating print data such as publications and wrapping paper, or even print data with parts that require higher accuracy than the resolution of the display device 41, it is accurately adjusted to other elements or specific coordinate values. It is sufficient to extract the contour information by using this method for the part that does not need to be output.
(2) Method of temporarily enlarging and displaying on a display device: However, in the method of (1) above, print data requiring high accuracy corresponding to the resolution of a printing device such as an image setter 52 is used. Moreover, for the parts that need to be output accurately according to other elements or specific coordinate values, the resolutions of the display device 41 and the printing device such as the image setter 52 are different, so that the display device 41 has different resolutions. Even if you intend to extract the contour information accurately, there may be a visible error when printing with a printing device such as the image setter 52.
[0173] In the method (1) above, an error of 1 dot on the display device 41 will appear as an error of 30 dots when output to the image setter 52.
[0174] Therefore, when extracting the contour information of the graphic data or the character data, the target data is subjected to the target data before issuing the postscript (PS) instruction (operator) to the graphic data or the character data. , If you temporarily enlarge the display, you can reduce the error due to the resolution.
[0175] However, the term "display" as used herein means that data is transmitted to the display device 41, and does not necessarily have to be visible.
[0176] FIG. 18 shows a flowchart illustrating a procedure for temporarily enlarging an element and displaying it on a display device and extracting contour information.
[0177] First, the magnification of enlargement is determined (step S1801). The magnification may be larger than the ratio of the resolutions of the display device 41 and the image setter 52. Therefore, in the case of the resolution shown by the method (1) above, the element for which contour information is to be obtained may be enlarged at a magnification larger than Rp / Rd = 3000/100 = 30 (times) (Equation 3). At this time, among the print attributes of the element, the line width, the end shape, the connection shape, etc., which are affected by the enlargement, are also enlarged at the same magnification.
Next, the element magnified by the magnification determined in step S1801 is displayed on the display device 41 (step S1802).
Next, similarly to the method (1) above, the contour information of the enlarged element is extracted by using a PS operator or the like (step S1803). The accuracy of the contour information extracted here is comparable to the accuracy of the image setter 52.
Next, the extracted contour information is restored to the size before enlargement (step S1804).
[0181] Finally, the data of the temporarily enlarged element used for extracting the contour information is unnecessary after the contour information is extracted, and is therefore deleted (step S1805).
(3) Geometric method: For graphic data whose geometric shape is known in advance, especially for line elements such as line segments, circles, arcs, ellipses, elliptical arcs, and free curves. Can extract highly accurate contour information regardless of the resolution of the display device 41 by taking the following method.
[0183] FIG. 19 shows a flowchart illustrating a procedure for extracting contour information of a line element by a geometric method.
[0184] First, in consideration of the line width direction of the line element, a figure in which the line element is offset by the line width is created (step S1901).
Next, it is determined whether or not this line element has an end (step S1902). If it is determined that the terminal has an end, the process proceeds to step S1903, where a figure corresponding to the end shape is created. If it is determined that the terminal does not have a terminal, the process proceeds to step S1904.
Next, it is determined whether or not this line element has a connection (step S1904). If it is determined that the connection is established, the process proceeds to step S1905, where a figure corresponding to the connection shape is created. If it is determined that the user does not have a connection, the process proceeds to step S1906.
Then, a closed figure is created based on the created figure, and the contour information thereof is extracted (step S1906).
[0188] Next, as an example, a method of extracting the contour information of the line segment sequence having the print attribute as shown in FIG. 20 by a geometric method will be described. In this example, it is assumed that the line width is 2d, the line width direction is both sides, the end shape is a round cap, and the connection shape is a miter join.
[0189] First, in step S1901, the line segment AB of the line segment sequence ABC is offset to both sides in the normal direction of the line segment by 1/2 (= d) of the line segment, and the line segment DE and the line are offset. Create a minute FG. Similarly, the line segment HJ and the line segment KL are created by offsetting the line segment BC by 1/2 (= d) of the line segment in the normal direction of the line segment and on both sides.
[0190] Next, in step S1902, since it is determined that this line segment sequence has a terminal, the process proceeds to step S1903 to create a terminal shape. In this case, since the end shape is a round cap, a semicircle having a diameter of DF and a semicircle having a diameter of JL may be created respectively.
Next, in step S1904, since it is determined that this line segment train has a connection, the process proceeds to step S1905 to create a connection shape. In this case, since the connection shape is a miter cap, the line segment DE and the line segment JH may be extended to the point M where they intersect. Also, let N be the intersection of the line segment FG and the line segment KL.
From the above, in step S1906, the contour information of this line segment sequence can be represented by a closed figure formed by connecting points M, J, L, N, F, D, and M. Connect JL and FD with an arc, and connect other sections with a line segment.
[0193] Further, when the target line element is a free curve or the like, when creating a figure offset by the line width in step S1901, the curve is divided into sections of what size. The method (1) or (2) above may be used to determine whether to create an offset figure.
(4) Method of outputting to software or hardware corresponding to the printing device: In the method of (2) above, the printing device is displayed by temporarily enlarging the element and then displaying it on the display device 41. Although we tried to reduce the error caused by the difference in resolution between the printer and the printer, we tried to extract highly accurate contour information by outputting data to software or hardware that achieves the accuracy equivalent to the resolution of the printing device. You can also.
[0195] The above software reads and writes data to a two-dimensional integer array having a size sufficient to correspond to the number of dots that can be represented by a printing device such as an image setter 52. Software that has functions.
[0196] Further, the above hardware means reading / writing data to a two-dimensional display data buffer having a size sufficient to correspond to the number of dots that can be expressed by a printing device such as an image setter 52. It is hardware that has the function of performing.
[0197] In any of the above software and hardware cases, it is also necessary to have a function of interpreting a drawing command (in this example, a PS operator) and expanding it into a dot image. is there.
Next, the layout reference rectangle setting process in step S1305 will be described.
[0199] First, the layout reference information defined by the layout reference rectangle will be described.
[0200] This layout reference information is information that serves as a reference for position and size for laying out elements as print data, and must be retained for each element. In the present embodiment, the position The reference is called the layout reference position, and the size reference is called the layout reference size.
[0201] Further, when setting the layout reference rectangle, one of the feature points of the rectangle can be set as the layout reference point at the time of layout processing described later. As shown by * in FIG. 22, there are nine feature points of this rectangle: the corner points (4 points) of the rectangle, the midpoints (4 points) of each side, and the center point.
[0202] The layout reference point can be selected at the time of layout processing without having to determine one specific point in advance. In that case, a transformation (translation) that changes the layout reference point of the element occurs.
[0203] Further, there are the following methods for setting the layout reference rectangle.
(1) Arbitrary Rectangle: By designating the positions of any two points on the drawing area 62 by any of the following methods: arbitrary designation, point designation, feature point designation, intersection designation, and line point designation. Set a rectangle with the specified two points as diagonal points.
[0205] Of these, in a method involving element selection other than arbitrary designation, it is common to select one of the elements for which the layout reference rectangle is set, or in the case of this example, the grouped elements. However, it is also possible to select other elements.
[0206] When a circle, which is one of the constituent elements, is selected for the grouped elements, the center point of the circle is designated as a feature point, and the other one is arbitrarily designated to form a layout reference rectangle. An example is shown in FIG.
(2) Circumscribed Rectangle: Calculate the following circumscribed rectangle. -Circular rectangle of the entire element: Calculates the circumscribed rectangle of the entire target element. In the case of grouped elements, the circumscribed rectangles for all the elements that make up the group are calculated.
[0208] An example in which an circumscribed rectangle is calculated for the grouped elements and used as a layout reference rectangle is already shown in FIG. 21. -A circumscribed rectangle of any element that constitutes an element: In the case of a group figure that has multiple elements, it is also possible to select any element that constitutes an element and calculate the circumscribed rectangle.
FIG. 24 shows an example in which a circle, which is one of the constituent elements, is selected for the grouped elements, the circumscribed rectangle of the circle is calculated, and the circumscribed rectangle is used as the layout reference rectangle.
[0210] The procedure for grouping the components of a symbol and registering them as a symbol has been described above.
[0211] Next, a process of calling the registered symbol and laying it out as print data will be described.
(C) Symbol Calling and Layout FIG. 25 shows a flowchart illustrating a procedure for calling a registered symbol and laying it out as print data.
[0213] First, select the symbol to be laid out (step S2501).
[0214] Specifically, the following processing is performed.
[0215] First, in order to call up the symbol stored in the external storage device 33 or the like, select the button of the command "symbol" in the button 65 on the main panel 61, or select the button in the character input area 64. Enter the name of the command "symbol" from the keyboard 11.
[0216] Then, the symbol layout panel 2601 as shown in FIG. 26 is displayed on the display device 41. Then, from the saved symbol name list 2602, select the symbol you want to lay out with the mouse 12. Alternatively, the symbol name can be input directly from the keyboard 11 in the symbol name input area 2604. In that case, the selection state of the symbol name list 2602 changes in conjunction with the input processing in the symbol name input area 2604.
[0217] When the number of stored symbols is large, the return key may be pressed after inputting a part of the symbol name from the keyboard 11 in the symbol search condition input area 2603. In that case, only the symbol names that meet the entered conditions are displayed in the symbol name list 2602, so the symbol to be laid out can be selected with the mouse 12.
[0218] Also, when selecting a symbol, if you want to make a selection after seeing not only the name but also the shape, if necessary, click the "List" button on the symbol layout panel 2601. By selecting, the symbol shape list panel 2701 as shown in FIG. 27 is displayed on the display device 41.
[0219] When the symbol shape list extends over a plurality of pages, the total number of pages is displayed on the symbol shape list panel 2701. Therefore, the page number can be directly entered in the page number input area 2702 with the keyboard 11 or the previous page. By selecting the button 2703 or the next page button 2704, the pages before and after the currently displayed page can be displayed.
Then, when the symbol to be laid out is selected from the symbol shape list 2705 with the mouse 12, the selected state of the symbol name list 2602 changes in conjunction with this.
[0221] Further, when the content of the selected symbol is to be confirmed in detail, the symbol content confirmation panel 2801 as shown in FIG. 28 can be selected by selecting the "content" button of the symbol layout panel 2601. Is displayed on the display device 41.
[0222] In addition to the shape of the symbol, information such as the layout reference rectangle is also displayed on the symbol content confirmation panel 2801 at the same time. In the figure, the rectangle shown by the dotted line is the layout reference rectangle, and in this figure, the circumscribed rectangle of the entire symbol is the layout reference rectangle.
[0223] Once the symbols to be laid out are determined in this way, the layout reference position is then selected (step S2502).
The layout reference position can be selected by selecting one of the layout reference position selection buttons 2605 on the symbol layout panel 2601. The nine reference positions shown in the layout reference position selection button 2605 correspond to the nine feature points of the layout reference rectangle.
[0225] When the layout reference position is selected, the coordinate data of each element constituting the symbol stored in the symbol data file is expressed in coordinates relative to the selected layout reference position when called to RAM32. Is converted to.
[0226] Further, the layout size and the layout angle are input as the information required for layout (step S2503).
[0227] The layout size specifies a size when laying out a symbol. For example, one of the height and the width of the layout reference rectangle may be specified. The procedure is to select either the "Height" or "Width" button of the layout size selection button 2606 on the symbol layout panel 2601, and then in the layout size input area 2607, on the keyboard 11, the height or You can enter the width value.
[0228] When a special numerical value such as "0" is input to the layout size input area 2607, it is possible to lay out the symbols with the size saved in the symbol data file. ..
[0229] The layout angle specifies an angle when laying out a symbol. For example, if the horizontal side (upper side or bottom side) of the layout reference rectangle is specified as an angle formed in the positive direction of the X axis. Good. The procedure is to input the numerical value of the angle from the keyboard 11 in the layout angle input area 2608 of the symbol layout panel 2601.
[0230] After inputting all the above information, select the "Execute" button on the symbol layout panel 2601 to execute the symbol layout, and select the button to stop laying out the symbol, "Cancel". Button, select the button.
Next, the position where the selected symbol is laid out in the drawing area 62 is specified (step S2504).
[0232] There are the following methods for specifying the layout position of the symbol. (1) Point layout: Specify an arbitrary position on the drawing area 62 by any of the following methods: arbitrary designation, point designation, feature point designation, intersection designation, and on-line point designation. In this case, the layout is performed so that the layout reference position of the symbol to be laid out matches the specified position. (2) Rectangle layout: A rectangle that already exists as print data on the drawing area 62 is specified by element selection. In this case, regardless of the layout reference position and layout angle specified in the symbol layout panel 2601, the upper left point of the layout reference rectangle of the symbol to be laid out matches the upper left point of the specified rectangle, and the upper left of the specified rectangle. It is laid out so that the layout reference rectangle follows the two sides that sandwich the point.
[0233] When the layout size is specified by the height on the symbol layout panel 2601, the width is specified so that the height of the layout reference rectangle matches the height of the specified rectangle. If so, the layout is performed so that the width of the layout reference rectangle matches the width of the specified rectangle.
[0234] When the above operation is completed, the CPU 21 registers the data of the symbol element called from the external storage device 33 in the RAM 32 as print data (step S2505).
At this time, the data of the circumscribed rectangle of the symbol element obtained in step S1303 is saved as a part of the data of the symbol element (step S2506). If the data of the circumscribed rectangle is retained as a part of the element data, for example, when it is desired to display the specified element in the entire drawing area 62, it is not necessary to extract the contour information again.
[0236] Then, the CPU 21 displays the created symbol element in the drawing area 62 (step S2507).
[0237] To explicitly create the circumscribed rectangle saved in step S2506, select the button of the command "rectangle" for drawing the rectangle in the button 65 on the main panel 61, or select the button. , In the character input area 64, enter the name of the command "rectangle" from the keyboard 11, select the "circumscribed rectangle" menu of the command menu 67, select the button, and then select the element for which you want to create the circumscribed rectangle. Just do it.
[0238] Hereinafter, a specific display example when the symbols called by the above method are laid out will be shown.
[0239] In FIG. 29, the circumscribed rectangle of the symbol is set as the layout reference rectangle, the lower left point of the rectangle is selected as the layout reference position, the layout size is specified as 50 mm in height, and the layout angle is specified as 30 degrees. , This is an example of the point layout of the symbol. In FIG. 29, the layout reference rectangles are displayed at the same time for the sake of explanation, but in reality, only the symbols are displayed. Of course, it is also possible to change the specifications so that the layout reference rectangle is displayed at the same time.
[0240] FIG. 30 shows an example in which the circumscribed rectangle of the symbol is set as the layout reference rectangle and the rectangle is laid out. FIG. 30 (a) shows the case where the height is set by the layout size, and FIG. 30 (b) shows the case where the width is set by the layout size. In both figures, the rectangle shown by the broken line is the rectangle to be laid out, and the rectangle shown by the solid line is the layout reference rectangle. In FIG. 30, for the sake of explanation, the layout reference rectangles are displayed at the same time, but in reality, only the symbols are displayed. Of course, it is also possible to change the specifications so that the layout reference rectangle is displayed at the same time.
[0241] The procedure for calling the registered symbols and laying them out as print data has been described above.
[0242] Further, the procedure for creating a symbol as shown in FIG. 8 is as follows: (A) laying out the basic figure as print data, (B) grouping the components of the symbol and registering them as the symbol, (C). ) The explanation was divided into three flows: calling the registered symbols and laying them out as print data.
[0243] Creation of text Next, as an example of creating character data, a case of creating text as shown in FIG. 51 will be described.
FIG. 31 shows a flowchart illustrating a procedure for laying out text as print data.
[0245] In the following description, the case of laying out the text element is described, but the same applies not only to the text element but also to the text element included in each element of the symbol, the illustration, the register mark, and the barcode. is there.
[0246] First, the button of the command "text" in the button 65 on the main panel 61 is selected, or the name of the command "text" is input from the keyboard 11 in the character input area 64.
[0247] Then, the command menu 67 is displayed on the display device 41. In the item of command menu 67, (1) New: Create new text from now on. (2) Modify: Modify the text that has already been created. There is. The user edits the text by selecting one of the menu items with a button.
[0248] describes the case where the "new" menu is selected.
[0249] First, the information required for laying out the text (layout required information) is input (step S3101), then the character string data of the text is input (step S3102), and the print attribute of the character data, that is, the character. Add a column attribute so that it can be used as print data (step S3103).
[0250] These processes from step S3101 to step S3103 may be performed in any order using the text new creation panel 3901 shown in FIG. 39 and the character string input panel 4001 shown in FIG. 40.
FIG. 55 shows an example in which a print attribute is added to character data.
[0252] Fig. 55 (a) shows an example of character data to which the print attribute is not added. The state in which the print attribute is not added is the case where the attribute setting flag is invalid in the structure of the print attribute data described above, and the character data has a preset default shape and size. It is expressed by. Therefore, it can be seen that the typeface, flatness ratio, length ratio, character size, base angle, italic angle, etc. are fixed.
On the other hand, FIG. 55 (b) shows an example of character data to which a print attribute is added. When the print attribute is added, it can be seen that the difference in the print attribute such as typeface, flatness ratio, length ratio, character size, base angle, italic angle, etc. is expressed.
[0254] Now, when the "New" menu is selected as a button, the display device 41 displays the new text creation panel 3901 as shown in FIG. 39.
[0255] On this new text creation panel 3901, the information necessary for creating a text is input by button selection with the keyboard 11 or the mouse 12.
[0256] For the information input in the new text creation panel 3901, as the information necessary for laying out the text, selection of layout reference position, selection of group format, selection of line alignment, overall length, and height priority are given. There is a selection of presence / absence and a selection of presence / absence of automatic kerning. This information is stored as textual data.
[0257] The character string data of the text is input from the keyboard 11 into the character string input area 4002 of the character string input panel 4001 displayed by selecting the "character string input" button of the new text creation panel 3901. .. This information is stored as text and basic string data.
[0258] Further, in the text new creation panel 3901, the print attribute of the character data, that is, the character string attribute, the typeface name, the base angle, the flatness ratio, the length ratio, the italic angle, the character spacing, the line spacing, and the character size. Enter the reference character height or character size, as. This information is stored as character string attribute data of the basic character strings that make up the text.
[0259] Here, the terms related to the characters are defined. FIG. 52 shows a diagram illustrating terms related to characters.
[0260] In the present embodiment, the character box is a virtual area of a rectangle (when the italic angle is 0) or a parallelogram (when the italic angle is other than 0) occupied by one character, and is mostly. Characters are designed to be designed inside this character box. The shape of the characters may appear outside the character box. If the italic angle is other than 0, the character box will also be a parallelogram with italics.
[0261] The reference character is one character predetermined by the user for each typeface, and is a reference character when designating the size of the character and when designating the layout position of the character. In general, characters having a shape close to a rectangle are often defined. In the present embodiment, in the case of an English typeface, the capital letter "E" is set as the reference character.
[0262] The character size is a general numerical value representing the size of a character. However, it does not actually indicate the height of the visible part of the character.
[0263] In the present embodiment, the height of the character box is defined so as to indicate the size in the height direction of the characters actually displayed in consideration of the flatness ratio in the character size. In a single base string, the character box height for each character is the same. The relationship between the character box height and the character size is as shown in Equation 4.
[0264] Character box height = character size * flatness ratio (Equation 4) [0265] The reference character height is the height of the visible part of the reference character in the present embodiment, and the character size is this numerical value. Can be specified. If you want to lay out the characters based on the part that is actually visible, it is more effective to specify the standard character height.
[0266] The character size and the reference character height have a certain relationship shown in Equation 5 for each typeface. The character height ratio is calculated in advance for each typeface and stored in an external storage device 33 or the like.
[0267] Reference character height = character size * character height ratio (Equation 5) [0268] The character baseline indicates a virtual reference line in the character height direction in the character box, and this implementation is carried out. In the form, it is defined as a straight line passing through the lower side of the circumscribing rectangle of the reference character "E". The character baseline is a straight line horizontal to the bottom of the character box.
[0269] The character box origin indicates a virtual origin for indicating the position of a character in the character box, and is defined as the intersection of the character baseline and the left side of the character box in the present embodiment.
[0270] The character box width is determined by the horizontal distance (character feed direction distance) from the character box origin to the character box origin of the next character in the same basic character string. This is the value when the character spacing is 0. In general, the width of the character box differs depending on the character even if it is the same basic character string. In particular, the character box width when the length ratio is 1 is called the character width of the character. The relationship between the character box width and the character width is as shown in Equation 6.
[0271] The data structures of the text, the basic character string, and the character string attribute are as described above.
[0272] Character box width = character width * length ratio (Equation 6) [0273] The height from the origin of the character box to the upper side of the character box is called the ascender height, and the height to the lower side of the character box is called the descender height. .. Therefore, the following equation 7 holds.
[0274] Character box height = Ascender height + Descender height (Equation 7) [0275] The horizontal distance (distance in the character feed direction) from the left side of the character box to the left end of the visible part of the character is the left side bearing, and the character The horizontal distance (distance in the character feed direction) from the right end of the visible part to the right side of the character box is called the right side bearing. It is expressed as a numerical value when the italic angle of the character is 0. In other words, it is a numerical value that does not depend on the italic angle of the character. In addition, it is assumed that the side bearing does not include the character spacing. Since the visible part of the character is not always included in the character box, the side bearing is a signed numerical value with the character feed direction as positive.
FIG. 53 shows an example of a character in which the side bearing is negative. In this example, the case where both the left side bearing and the right side bearing are negative is shown. Thus, when the side bearing is a negative character, there is a visible part of the character outside the character box.
[0277] The character spacing is as defined in the description of the character string attribute, but if the expression using the character box is used, the character spacing represents the space between two adjacent character boxes on the same line. .. However, the line spacing in the present embodiment is the spacing between two adjacent lines of the text line layout rectangle (described later), and does not represent the spacing between the character boxes of the characters on the two adjacent lines.
[0278] This concludes the definition of terms related to characters.
As for the typeface name, a list of available typefaces is displayed in the typeface name list 3902. Select one of them with the mouse 12 or directly enter the typeface name from the keyboard 11 in the typeface name input area. input. The typeface name selected in the typeface name list 3902 is reflected in the typeface name input area, and conversely, the typeface name entered in the typeface name input area corresponds to the typeface name list 3902 if it is a usable typeface. The item is selected.
[0280] The character size (character size) is specified by either the reference character height or the character size. Since the reference character height and the character size have a relationship shown in Equation 5, if one of the data in the input area of the reference character height and the character size is set, the other data is automatically set accordingly. Will be updated.
[0281] For the base angle, the angle is input in degrees from the keyboard 11. The default value is 0 degrees. Valid only for point layouts.
[0282] For the flatness ratio and the longness ratio, the ratio is input in percentage units from the keyboard 11. The default value is 100% for both.
[0283] FIG. 54 shows a diagram illustrating a flatness ratio and a long body ratio. The rectangle in the figure shows the character box of each character.
[0284] For the italic angle, input the angle in degrees from the keyboard 11. The default value is 0 degrees. Valid only for point layouts.
[0285] The character spacing is input from the keyboard 11 in percent units based on the size in the width direction of the characters. This is called the character-to-character ratio. As a standard for the size of characters in the width direction, character size and length ratio are used as quantities that do not depend on each character. The relationship between the character-to-character ratio and the actual character-to-character spacing is as shown in Equation 8.
[0286] Character spacing = Character size * Length ratio * Character spacing ratio (Equation 8) [0287] For the line spacing, enter the length in mm from the keyboard 11. The default value is 0 mm.
[0288] The details when the character spacing and the line spacing are set will be described later.
[0289] The total length specifies the width of the visible portion of the text, and the length is input in mm from the keyboard 11. The default value is 0 mm. When the default value of 0 mm is specified, it is considered that the total length is not specified.
[0290] The presence / absence of height priority is specified by selecting either the presence / absence button of the height priority selection button 3904. It is valid only in the case of point layout and when the total length is specified.
[0291] The details when the total length is specified will be described later.
[0292] The layout reference position is specified by selecting one of the buttons indicating the nine feature points of the layout reference rectangle in the layout reference rectangle selection button 3903. Valid only for point layouts.
[0293] The details of the layout reference rectangle and the layout reference position setting method in the case of text will be described later.
[0294] The group format specifies whether to write the text horizontally or vertically by selecting either the horizontal / vertical button on the group format selection button 3906.
The alignment position is specified by selecting one of the four buttons of the alignment position selection button 3907, left alignment, right alignment, center alignment, and justification. Only valid for rectangular layouts.
[0296] The method of the point layout / rectangular layout and the method of determining the alignment position in the case of the rectangular layout will be described later.
[0297] Among the above items, input numerical data from the keyboard 11, typeface name, character size, base angle, flatness ratio, length ratio, oblique body angle, character spacing, line spacing, total length, For, after instructing the character input area of the item to be input with the mouse 12 or the keyboard 11, input the numerical data from the keyboard 11.
[0298] The print attribute of the layout required information and the character data set last on the new text creation panel 3901 is saved in RAM32 as the current value (referred to as the initial value) by the CPU21. Therefore, the text is next. When creating a new text, it is only necessary to change a part of the initial values displayed in the new text creation panel 3901.
[0299] Further, when the program is terminated, the CPU 21 saves the initial value in the external storage device 33, and when the program is executed next time, it is read into the RAM 32 again, so that the program is executed. There is no need to reset the initial value each time. The initial values that are common to all users and those that are individually set by each user can be stored separately in the RAM 32 or the external storage device 33.
After completing the above operations, the user selects the "Settings" button on the character string input panel 4001 and uses the information necessary to create the text (information for laying out the text, character string data, etc. Confirm the print attribute of character data).
[0301] In this way, when the information necessary for creating the text is determined, the CPU 21 creates the text data according to the set contents and extracts the outline information (step S3104).
[0302] FIG. 56 shows the result of extracting the outline information of the text shown in FIG. 51. In the figure, the rectangle shown by the solid line is the layout reference rectangle of this text.
[0303] As a method of extracting this contour information, the above-mentioned (1) a method of displaying it on a display device as it is (2) a method of temporarily enlarging it and displaying it on a display device (3) a geometric method is used. Method (4) Either method of outputting to software or hardware corresponding to a printing device can be taken.
[0304] In the case of character data, in order to take the method (3), the shape of the character data needs to be given in a geometric shape.
Next, the CPU 21 calculates the circumscribed rectangle of the text from the contour information extracted in step S3104 (step S3105). The method of calculating the circumscribed rectangle is the same as the method in step S1303 of FIG.
[0306] To explicitly create an extrinsic rectangle, select the button of the command "rectangle" for drawing a rectangle from the button 65 on the main panel 61, or use the character input area 64 to select the command "rectangle". Enter the name of "" from the keyboard 11, select the "External Rectangle" menu on the command menu 67, select the button, and then select the element for which you want to create an external rectangle.
[0307] In the case of text, since the reference character height is used as the layout reference, the character height ratio of Equation 5 is calculated in advance from the outline information of the reference character.
FIG. 32 shows a flowchart illustrating a procedure for calculating the character height ratio.
[0309] First, a reference character is created with a certain character string attribute (step S3201).
[0310] Since the purpose is to obtain the ratio between the character size and the reference character height, for example, for one typeface, character size = 10 mm, italic ratio = 100%, italic ratio = 100%, base angle = Create a reference character "E" with the character string attributes of 0 degrees, character direction = 0 degrees, italic angle = 0 degrees, character spacing = 0 mm, line spacing = 0 mm, horizontal inversion flag = none, vertical inversion flag = none. do it.
Next, the contour information of the reference character created in step S3201 is extracted in the same manner as in step S3104 (step S3202).
Next, the circumscribed rectangle of the reference character is calculated from the contour information extracted in step S3202 in the same manner as in step S3105 (step S3203).
Then, from the ratio of the character size set in step S3201 and the height of the circumscribed rectangle obtained in step S3203, the character height ratio of this typeface can be obtained according to Equation 5 (step S3204).
[0314] The obtained character height ratio is stored in the external storage device 33 (step S3205).
[0315] The above process is repeated for each typeface (step S3206).
Next, a layout reference rectangle is set as the text layout reference information (step S3106). The layout reference rectangle is set for each line of text.
[0317] In the above-mentioned symbol example, when (1) an arbitrary rectangle (2) a circumscribed rectangle is used when setting a layout reference rectangle, (3) a reference character height and a character are described in the case of text. A rectangle determined by the visible part width of a column may be used as a layout reference rectangle.
[0318] Here, the reference character height is obtained in advance, and the visible partial width of the character string is equal to the width of the circumscribing rectangle obtained in step S3105. The upper right point is the lower left point (the minimum X coordinate of the contour information, the minimum Y coordinate of the contour information of the reference character assuming that the character string contains the reference character), and the upper right point (the maximum X of the contour information). Coordinates, the maximum Y coordinate of the outline information of the reference character assuming that the reference character is included in the character string) is given.
FIG. 57 shows a text layout reference rectangle set for the text shown in FIG. 51 and nine layout reference positions. In the figure, the rectangle shown by the solid line is the layout reference rectangle of each line of the text, and the point indicated by * in the figure is the layout reference position.
[0320] In the case of this example, the character circumscribing rectangle underline of "A" and "B" and the character baseline (character circumscribing rectangle underline of the reference character "E") are the same, and "A" and "B" are matched. Because the height of the character extrinsic rectangle and the reference character height of "" are the same, the upper side of the character extrinsic rectangle of "A" and "B" and the upper side of the layout reference rectangle, and the lower side of the character extrinsic rectangle and the lower side of the layout reference rectangle are the same. ing. However, in general, such as in the case of "C", the character circumscribed rectangle (visible part) and the layout reference rectangle do not match. For example, in the case of "C", the visible part of the character also exists in the area outside the layout reference rectangle.
[0321] Next, the position where the text is laid out in the drawing area 62 is specified (step S3107).
[0322] There are the following methods for specifying the layout position of the text.
(1) Point layout: Arbitrary position on the drawing area 62 is designated by any of arbitrary designation, point designation, feature point designation, intersection designation, and on-line point designation. In this case, the layout is performed so that the layout reference position of the first line of the text specified in step S3101 matches the specified position.
FIG. 58 shows an example in which the lower left point of the layout reference rectangle is selected as the layout reference position and the text is point-laid out. In the figure, the position indicated by * is the layout position. In FIG. 58, for the sake of explanation, the layout reference rectangles are displayed at the same time with solid lines, but in reality, only the text is displayed. Of course, it is also possible to change the specifications so that the layout reference rectangle is displayed at the same time. In this example, only one line of text is shown, but even if the text is of multiple lines, the layout position in the case of the point layout is determined by the layout reference position of the first line.
(2) Rectangle layout: A rectangle that already exists as print data is specified on the drawing area 62 by element selection. In this case, the upper side of the layout reference rectangle of the first line of the text is laid out as follows so as to be along the upper side of the specified rectangle and according to the alignment position specified in step S3101. -Left Alignment: Aligns the layout reference rectangle of each line of text to the left side of the specified rectangle. -Right Alignment: Aligns the layout reference rectangle of each line of text to the right side of the specified rectangle. -Center alignment: Layout of each line of text The layout is such that the reference rectangle is located in the center of the width of the specified rectangle. -Justify: Layout reference for each line of text Adjusts the character spacing of the text on each line so that the width of the rectangle matches the width of the specified rectangle.
[0326] The layout method according to each alignment position of the rectangular layout will be described later.
[0327] When the above processing is completed, the CPU 21 registers the created text element data in the RAM 32 as print data (step S3108).
[0328] At this time, the data of the circumscribed rectangle of the text element obtained in step S3105 is saved as a part of the data of the text element (step S3109).
[0329] In this way, if the data of the circumscribed rectangle is retained as a part of the element data, for example, when the specified element is to be displayed in the entire drawing area 62, the contour information is displayed again. No need to extract.
Finally, the CPU 21 displays the created text element in the drawing area 62 (step S3110).
[0331] The layout of the text will be described in more detail.
[0332] describes various methods for controlling the layout information of the text.
[0333] First, a case of setting the character spacing will be described.
[0334] To set the character spacing, the character spacing may be entered in the "character spacing" input area on the new text creation panel 3901. Since the character spacing entered in the new text creation panel 3901 is the character spacing ratio, the actual character spacing expressed in mm, for example, is as obtained by Equation 8.
[0335] Fig. 59 shows an example in which the character spacing of the text is set.
[0336] In the case of this example, the text is composed of one basic character string. Generally, when each data constituting the basic character string and each attribute data of the basic character string are changed in the middle of the text, the text is divided into a plurality of basic character strings. Therefore, as will be described later, when a line break occurs (character string start point coordinates change), carning is set (character string start point coordinates change), typeface information changes (character string attributes change), etc. The text will consist of multiple basic strings.
[0337] In the figure, the rectangle surrounding each character is a character box of each character. The rectangle surrounding the entire character string is a text line layout rectangle.
[0338] Here, the layout reference rectangle of one line of text (rectangle determined by the reference character height and the visible portion width of the character string), the text line layout rectangle, and the height and width of the text line layout rectangle are set as text lines, respectively. We will call it height and text line width. One line of text is laid out based on this text line layout rectangle.
[0339] FIG. 59 (a) shows an example when there is no character spacing, and FIG. 59 (b) shows an example when there is a character spacing. In FIG. 59 (a), there is no spacing in the letter-spacing direction of each character box, but in FIG. 59 (b), the spacing in the letter-spacing direction of each character box is a character spacing.
[0340] Next, a case of setting the line spacing will be described.
[0341] To set the line spacing, enter the line spacing in the "line spacing" input area on the new text creation panel 3901. The line spacing entered in the new text creation panel 3901 is an actual size value expressed in mm, for example.
[0342] FIG. 60 shows an example in which the line spacing of text is set.
[0343] In the case of this example, since there is a line break, a different basic character string is used for each line.
[0344] In the figure, the rectangle surrounding the entire character string is a text line layout rectangle.
[0345] FIG. 60 (a) shows an example when there is no line spacing, and FIG. 60 (b) shows an example when there is a line spacing. In FIG. 60 (a), there is no spacing in the line spacing direction of the text line layout rectangle of each line, but in FIG. 60 (b), the spacing in the line spacing direction is the line spacing.
[0346] Next, a case where character spacing kerning is set will be described.
[0347] Character-to-character kerning is a method for finely adjusting the output position of a specific character on the same line in the left-right direction and the up-down direction, and is referred to as left-right kerning and up-down character kerning, respectively. ..
[0348] Further, the line spacing kerning described later is a method for finely adjusting the line spacing of two adjacent lines in the vertical direction, and is mainly used to change only a specific line spacing.
[0349] To set kerning between characters, in the "left and right between characters" input area of the kerning input panel 4101 displayed by selecting the "kerning input" button on the character string input panel 4001, left and right between characters. Enter the kerning value in the "character spacing up / down" input area.
At that time, move the cursor to the position where you want to set the inter-character spacing carning of the character string input in the "character string" input area of the character string input panel 4001.
[0351] The kerning between characters to be input on the kerning input panel 4101 is input by a parameter (kerning parameter) in which, for example, 96 divided values are used as a reference character height as a reference. The actual, for example, inter-character kerning expressed in mm units is as obtained by Equations 9 and 10.
[0352] Inter-character kerning is a numerical value having a sign, and the right direction and the upward direction are positive directions, respectively.
[0353] Left and right character kerning = (Left and right character kerning parameter / 96) * Reference character height * Length ratio (Equation 9) Upper and lower character kerning = (Upper and lower character kerning parameter / 96) * Reference character height * Flatness ratio (Equation 10) [0354] Fig. 61 shows an example when text spacing kerning is set.
[0355] In the case of this example, there are different basic character strings before and after the character spacing kerning.
[0356] In the figure, the rectangle surrounding each character is a character box of each character. The rectangle surrounding the entire character string is a text line layout rectangle.
[0357] FIG. 61 (a) shows an example when there is kerning between left and right characters, and FIG. 61 (b) shows an example when there is kerning between upper and lower characters. Character spacing is not set for simplicity.
[0358] In FIG. 61 (a), 24 left-right character kerning parameters are set in the right direction, and the distance between the basic character string "A" and the basic character string "BC" in the letter-spacing direction is an expression. It is the value (positive value) obtained in 9.
[0359] In FIG. 61 (b), 24 vertical character spacing carning parameters are set in the downward direction, and the spacing in the line spacing direction of the character boxes of the basic character string "A" and the basic character string "BC" is expressed as an expression. It is the value (negative value) obtained by 10.
[0360] The input format for kerning between characters on the kerning input panel 4101 may be, for example, as follows. -Right-direction character spacing kerning input: "> numerical value" or "+ numerical value" -Left-direction character spacing kerning input: "<numeric value" or "-numerical value" -Upward character spacing kerning input: "^ numerical value" or "+ Numerical value" -Downward kerning between characters: "v Numerical value" or "-Numeric value" [0361] Enter kerning between characters and select the "Settings" button on the kerning input panel 4101 to perform kerning between characters. The amount is determined, the kerning input panel 4101 is erased, and the character string input panel 4001 returns to the displayed state.
[0362] Then, the cursor position of the character string input in the "character string" input area of the character string input panel 4001 indicates that the inter-character carning is set. For example, the following control format is used. Is displayed. Right-direction character spacing kerning control: "\ t> Numerical value @" Left-direction character spacing kerning control: "\ t <Numerical value @" Upward character spacing kerning control: "\ t ^ Numerical value @" Bottom Direction kerning control: "\ tv Numerical value @" [0363] Of course, it is also possible to set left and right kerning and upper and lower kerning at the same time, and the control format in that case is as follows. -"\ T> Numerical value \ tv Numerical value @" [0364] The character string entered in the "Character string" input area of the character string input panel 4001 is called a control character string and is retained as text data. ..
[0365] In the example of FIG. 61 (a), the control character string is as follows. -"A \ t> 24 @ BC" [0366] In the example of Fig. 61 (b), the control character string is as follows. -"A ¥ tv24 @ BC" [0367] Next, the case of setting line spacing kerning will be described.
[0368] To set the line spacing kerning, enter the line spacing kerning value in the "line spacing up / down" input area of the carning input panel 4101, which is displayed by selecting the "kerning input" button on the character string input panel 4001. Just enter it.
[0369] At that time, in the character string input in the "character string" input area of the character string input panel 4001, a blank line is created between the lines for which character spacing carning is to be set, and a blank line is created there. Move the cursor.
[0370] The line spacing kerning input by the kerning input panel 4101 is input by a parameter (kerning parameter) in which, for example, 96 divided values are used as a reference character height as a reference. The actual line spacing kerning expressed in mm, for example, is as obtained by Equation 11.
[0371] Line spacing kerning is a numerical value having a sign, and the upward direction is the positive direction.
[0372] Line spacing kerning = (line spacing kerning parameter / 96) * reference character height * flatness ratio (Equation 11) [0373] Fig. 62 shows an example when text line spacing kerning is set.
[0374] In the case of this example, different basic character strings are used before and after line spacing kerning, but since they are originally different basic character strings at the time of line break, the composition of the text basic character string changes depending on the presence or absence of line spacing kerning. Absent. In the case of the example of FIG. 62, it is a text composed of three basic character strings of "ABC", "DE", and "FG".
[0375] In the figure, the rectangle surrounding the entire character string is a text line layout rectangle.
[0376] FIG. 62 (a) shows an example in the case where there is no line spacing kerning, and FIG. 62 (b) shows an example in the case where there is line spacing kerning. In both FIGS. 62 (a) and 62 (b), a fixed line spacing is set between each line.
[0377] In FIG. 62 (a), only a fixed line spacing is set between each line, and the spacing in the line feed direction of the text line layout rectangle of each line is the set line spacing.
[0378] In FIG. 62 (b), 24 line spacing kerning parameters are set downward between the first and second lines, and the line spacing direction of the text line layout rectangle of the first and second lines is set. The interval is the absolute value of the value (negative value) obtained by Equation 11 plus the line spacing. The space between the second and third lines is the same as in (a).
[0379] The input format for line-to-line kerning on the kerning input panel 4101 may be, for example, as follows. This is the same as in the case of kerning between upper and lower characters. -Upward line spacing kerning input: "^ numerical value" or "+ numerical value" -Downward line spacing kerning input: "v numerical value" or "-numerical value" [0380] Enter the line spacing kerning and enter the kerning input panel 4101 " When the "Set" button is selected, the line spacing kerning amount is determined, the kerning input panel 4101 is erased, and the character string input panel 4001 is returned to the displayed state.
[0381] Then, at the cursor position of the character string input in the "character string" input area of the character string input panel 4001, an indication that line spacing kerning is set, for example, the following control format is displayed. Will be done. -Upward line spacing kerning control: "\ l ^ numerical value @" -Downward line spacing kerning control: "\ lv numerical value @" [0382] In the example of Fig. 62 (a), the control character string is as follows. Become.<img file="JP4174117B2_D0001.tif" />[0383] In the example of FIG. 62 (b), the control character string is as follows.<img file="JP4174117B2_D0002.tif" />[0384] Next, a case where the typeface information is changed will be described.
[0385] Typeface information is a general term for character string attributes such as typeface name, character size, flatness ratio, length ratio, italic angle, character spacing, and line spacing. By changing the typeface information, characters with various shapes can be expressed in the same text.
[0386] To change the typeface information, select the "Change typeface information" button on the character string input panel 4001 to display the character input area of the item to be changed on the typeface information change panel 4401 with the mouse 12 Alternatively, after instructing with the keyboard 11, enter the numerical data of the typeface information to be changed from the keyboard 11.
As for the typeface name, a list of available typefaces is displayed in the typeface name list 4402. Select one of them with the mouse 12 or directly enter the typeface name from the keyboard 11 in the typeface name input area. input. The typeface name selected in the typeface name list 4402 is reflected in the typeface name input area, and conversely, the typeface name entered in the typeface name input area corresponds to the typeface name list 4402 if it is a usable typeface. The item is selected.
At that time, move the cursor to the position where you want to change the typeface information of the character string input in the "character string" input area of the character string input panel 4001.
[0389] The content of each item entered in the typeface information change panel 4401 is the same as the item of the same name in the text new creation panel 3901.
[0390] Fig. 63 shows an example when the typeface information of the text is changed.
[0391] In the case of this example, different basic character strings are used before and after the typeface information change.
[0392] In the figure, the rectangle surrounding each character is a character box of each character. The rectangle surrounding the entire character string is a text line layout rectangle. The calculation method of the text line layout rectangle, such as when the reference character height changes between one line, will be described later.
[0393] FIG. 63 (a) shows an example when the character size is changed, and FIG. 63 (b) shows an example when the typeface is changed. Character spacing is not set for simplicity.
[0394] In FIG. 63 (a), a typeface information change is set between "A" and "B" to change the character size from, for example, 40 mm to 60 mm.
[0395] In FIG. 63 (b), a typeface information change is set between "A" and "B" to change the typeface from, for example, Helvetica to Times.
[0396] When the typeface information is changed and the "setting" button of the typeface information change panel 4401 is selected, the typeface information is changed, the typeface information change panel 4401 is deleted, and the character string input panel 4001 is displayed. Return to.
[0397] Then, at the cursor position of the character string input in the "character string" input area of the character string input panel 4001, for example, the following control format indicating that the typeface information has been changed is displayed. Will be done. Typeface name change control: "\ FONT {typeface name} @" Character size change control: "\ h ^ numerical value @" Italic rate change control: "\ EX numerical value @" Long body rate change control: "\ CO numerical value @ " Italic angle change control:" \ / numerical value @ " Character spacing change control:" \ # numerical value @ " Line spacing change control:" \! Numerical value @ "[0398] Here, the character size numerical value is , Represented as a relative value to the previous value. This is convenient because the entire text can be enlarged or reduced simply by changing the initial value, that is, the character size of the first character.
[0399] In the example of FIG. 63 (a), the control character string is as follows. -"A \ h ^ 1.50 @ BC" [0400] In the example of Fig. 63 (b), the control character string is as follows. -"A \ FONT {Times} @ BC" [0401] Next, the case of changing the initial value of the font information will be described.
[0402] The initial value of the typeface information is the typeface information input in the new text creation panel 3901 when the new text is created.
[0403] To change the initial value, use the mouse 12 to open the character input area of the item you want to change on the new text creation panel 3901, which is displayed by selecting the "Change initial value" button on the character string input panel 4001. Alternatively, after instructing with the keyboard 11, enter the numerical data of the font information to be changed from the keyboard 11. The contents of each item of the new text creation panel 3901 and the setting method thereof are as described above.
[0404] When the initial value is changed and the "setting" button of the new text creation panel 3901 is selected, the initial value is changed, the new text creation panel 3901 is deleted, and the character string input panel 4001 is displayed. Return to.
[0405] Even if the initial value is changed, the control format is not displayed in the character string input in the "character string" input area of the character string input panel 4001.
[0406] Next, a case where the typeface information is returned to the initial value will be described.
[0407] If you want to return the typeface information to the initial value at a position behind it after changing the typeface information at a certain position of the text an arbitrary number of times by the method described above, use the character string input panel 4001. You can select the "Return to initial value" button.
At that time, move the cursor to the position where you want to return the typeface information to the initial value of the character string input in the "character string" input area of the character string input panel 4001.
[0409] Fig. 64 shows an example when the typeface information of the text is returned to the initial value.
[0410] In the case of this example, different basic character strings are used before and after the position where the typeface information is changed and before and after the position where the typeface information is returned to the initial value. In the case of the example of FIG. 64, it is a text composed of five basic character strings of "AB", "CD", "EF", "GH", and "JK".
[0411] In the figure, the rectangle surrounding the entire character string is a text line layout rectangle.
[0412] In FIG. 64, the font size is changed by 1.5 times between "B" and "C", the italic angle is changed to 15 degrees between "D" and "E", and a line break occurs. Later, an example is shown when the initial value is restored between "H" and "J".
[0413] When the typeface information is returned to the initial value, the cursor position of the character string input in the "character string" input area of the character string input panel 4001 indicates that the typeface information has been returned to the initial value. For example, the following control format is displayed. -Initial value return control: "\ DEF @" [0414] In the example shown in Fig. 64, the control character string is as follows. -"AB \ h ^ 1.50 @ CD \ / 15.00 @ EFGH \ DEF @ JK" [0415] "Character string" on the character string input panel 4001 so that the control format and the characters actually displayed can be easily distinguished. Both of the control character strings in the input area are displayed in different colors.
[0416] For example, in the example of FIG. 64, the characters "AB", "CD", "EF", "GH", and "JK" that are actually displayed are displayed in black and are the control format, "\ h ^". 1.50 @, "\ / 15.00 @" and "\ DEF @" are displayed in red.
[0417] Next, a data creation method for point layout of text will be described.
[0418] Here, when all the text layout necessary information, character string data, typeface information, kerning and typeface change information are given, which is the actual text data and the data of each basic character string that constitutes the text? Explain how it is created.
[0419] When all the necessary information for text layout, character string data, typeface information, and information on kerning and typeface change are given, decomposition into each basic character string data and creation of each basic character string layout information data are performed.
[0420] This basic character string layout information data is data created for each basic character string as data for laying out the basic character strings constituting the text. As shown in the text data structure described above, it may be retained as text data, but it can also be created from text data, so if you want to reduce the amount of data, do not retain it as text data. Is also possible.
[0421] The data structure of the basic character string layout information data is as follows. European / Japanese type: typef Character height ratio: rhparm Number of characters: nn Character string width: tw Relative start point: pw [2] Left and right kerning: dhx Upper and lower kerning: dhy Line kerning : dln Ascender height: has Descender height: hds First character left side bearing: sbl Last character right side bearing: sbr [0422] Here, the character string width is the basic character string of interest. It is the distance in the letter-spacing direction from the origin of the first character box to the origin of the first character box of the next basic character string, and this value considers the character spacing but not the character spacing kerning.
[0423] The relative start point is the origin of the first character box of each basic character string when the origin of the first character box of the first basic character string of the text is set to (0,0) when there is no kerning. It shows the relative coordinate values of.
[0424] FIG. 33 shows a flowchart illustrating a data creation method when the text is point-laid out.
[0425] Further, FIG. 65 shows an example of created data when the text is point-laid out. The description of each process here will be performed based on the example in this figure.
[0426] In the figure, the rectangle (solid line) surrounding each character is the character box of each character. The rectangle (dotted line) surrounding the entire character string on each line is a text line layout rectangle.
[0427] This text has typeface name = Helvetica, reference character height = 30 mm, base angle = 0 degrees, flatness = 100%, length ratio = 100%, italic angle = 0 degrees, character spacing = 5%. , Line spacing = 10mm, Overall length = 0mm (not specified), Layout reference position = Lower left, Height priority = None, Automatic kerning = None, Group format = Horizontal, After new creation, the following kerning and typeface change , The initial value was restored. "\ T <24 @ AB \ h ^ 1.33 @ CD \ DEF @ EF \ t> 24 \ tv24 @ G \ lv48 @ \ t> 24 @ HJ" [0428] The layout reference point is "A" in the figure. The lower left point of the character circumscribed rectangle was specified. In the figure, it looks like the same point as the origin of the letter box of "A", but it is actually a slightly different point.
[0429] In this example, there are five basic character strings, "AB", "CD", "EF", "G", and "HJ", so the numbers of each basic character string are set to 1 to 5 in order.
[0430] First, the relative start points pw1 to pw5 of each basic character string are calculated (step S3301).
[0431] At this point, the unset data among the text, each basic character string, and each basic character string layout information is as follows. These have to be calculated. (Basic character string layout information) Relative start point: pw [2] (Basic character string) Character string start point coordinates: pt [2] (text) Text layout rectangular lower left point coordinates: pll [2] Text layout Rectangular upper right point coordinates: plr [2] [0432] First, the relative start point pw1 of the first basic character string of the first line is the character spacing kerning dhx1 (negative value) and dhy1 (= 0) of the focus basic character string, and the line spacing kerning. Considering dln1 (= 0), it is calculated as follows.
[0433] Since the line spacing kerning is uniquely determined for each line, it is assumed that only the data of the first basic character string of each line is valid. In the case of this example, only dln1, dln3, and dln5 are valid data. Similarly, for the line spacing dflin of the character string attribute data, only dflin1, dflin3, and dflin5 are valid data.
[0434] The method of obtaining the kerning value from the kerning parameter is as shown in Equations 9 to 11.
[0435] pw1 [0] = dhx1pw1 [1] = dhy1 + dln1 (Equation 12) [0436] Next, the relative start point pw2 of the second basic character string on the first line is the character string of the immediately preceding basic character string. Considering the width tw1 and the inter-character carning dhx2 (= 0) and dhy2 (= 0) of the basic character string of interest, it is calculated as follows.
[0437] pw2 [0] = pw1 [0] + tw1 + dhx2pw2 [1] = pw1 [1] + dhy2 (Equation 13) [0438] The effect of increasing the character size by changing the typeface is to the character string width tw1. It is reflected.
[0439] The relative start points of the second and subsequent basic character strings of each line are similarly obtained based on the relative start points of the basic character strings immediately before the same line and the character string width. If kerning between left and right characters is set after the last character of the last basic character string of each line, the character string width tw = 0 and the space between left and right characters are taken into consideration when calculating the text line width described later. For convenience, create a basic character string of kerning dhx and deal with it.
Next, the relative start point pw3 of the first basic character string of the second line is the relative start point pw1 of the first basic character string of the previous line, the kerning dhx1 and dhy1 between characters, and the kerning dhx3 between characters of the basic character string of interest. Considering (= 0) and dhy3 (= 0), string height th3, line spacing dflin3, and line spacing kerning dln3, it is calculated as follows.
[0441] The character string height th3 of the basic character string of interest is the reference character height multiplied by the flatness ratio, and is expressed by Equation 14.
[0442] The relative start point pw3 of the first basic character string on the second line is expressed by Equation 15. The character string height th3 and the line spacing dflin3 are positive values, but the line feed direction is the negative direction of y, so the sign changes. Since the kerning amount is a numerical value having a sign, it may be added with the same sign. When a line break occurs, dhx1 and dhy1 are subtracted in order to invalidate the inter-character kerning of the first basic character string of the previous line.
[0443] th3 = hbox3 * rhparm3 * rexp3 (Equation 14) pw3 [0] = pw1 [0] -dhx1 + dhx3pw3 [1] = pw1 [1] -dhy1 + dhy3-th3-dflin3 + dln3 (Equation 15) [ 0444] The relative start point of the first basic character string on the second and subsequent lines is similarly obtained based on the relative start point, the character string height, and the character spacing kerning of the first basic character string of the previous line.
[0445] By performing the above calculations of Equations 12 to 15 for each basic character string, the relative start point pw [2] of each basic character string can be obtained.
Next, the text line width (width of the text line layout rectangle) linew1 to linew3 of each line is calculated (step S3302).
The number of lines of text and the numbers of the basic character strings that make up each line are known at this point.
[0448] The text line width is basically the visible partial width of the text of the line of interest, with the exception of considering left-right kerning between the beginning and end of the line. By considering left-right kerning, the line width of the text can be longer or shorter than the visible portion of the text.
FIG. 66 shows this situation. Fig. 66 (a) shows when there is no left-right kerning at the beginning and end of the line, Fig. 66 (b) shows right-right kerning at the beginning of the line, and Fig. 66 (c) shows left-right left-right characters at the beginning of the line. When there is inter-curning, Fig. 66 (d) shows an example when there is right-right inter-character kerning at the end of the line, and Fig. 66 (e) shows an example when there is left-right inter-character kerning at the end of the line. .. In the figure, the solid line rectangle is a text line layout rectangle. The dotted line shows the position of the text line layout rectangle when there is no kerning between the left and right characters.
[0450] In FIGS. 66 (b) and 66 (d), the text line width is longer than the visible portion of the text, and in FIGS. 66 (c) and 66 (e), the text line width is the visible portion of the text. It will be shorter than the width.
Similarly, when calculating the text line width, whitespace characters at the beginning and end of the line are also taken into consideration. However, especially in Western languages, it is difficult to control the output position by the blank characters at the beginning and end of the line because the character width of the blank characters is difficult to understand.
[0452] In the example of FIG. 65, the text line width of each line is the relative start point X coordinate of the last basic character string of each line, the character string width, the last character right side bearing, the character spacing, and the beginning of the first basic character string of each line. Considering the character left side bearing, it is calculated as follows.
[0453] In Equation 16, it seems that inter-character kerning is not considered, but it is included in the relative start point value calculated in step S3301.
[0454] linew1 = pw2 [0] + (tw2-dflet2)-sbl1 + sbr2 linew2 = pw4 [0] + (tw4-dflet4)-sbl3 + sbr4 linew3 = pw5 [0] + (tw5-dflet5)-sbl5 + sbr5 ( Equation 16) [0455] When calculating the text line width of each line by Equation 16, the maximum text line width and the maximum text line width line number are calculated at the same time and stored in RAM32.
Next, the text line height (height of the text line layout rectangle) lineh1 to lineh3 of each line is calculated (step S3303).
[0457] The text line height is the maximum value of the character string height of the basic character strings constituting the line of interest. Therefore, in the example of FIG. 65, the text line height of each line is expressed as follows using the character string height obtained by Equation 14.
[0458] lineh1 = tw2 lineh2 = tw3 (= tw4) lineh3 = tw5 (Equation 17) [0459] When calculating the text line height of each line by Equation 17, the maximum text line height and the maximum text line height line Calculate the numbers at the same time and save them in RAM32.
Next, the character string start points pt1 to pt5 of each basic character string are calculated (step S3304).
[0461] In the case of the point layout, the text line layout rectangle of the first line serves as a reference in the layout. The character string start point of each basic character string is the position of the layout reference position flag specified by the text line layout rectangle of the first line at the layout reference point coordinates (pb [2] held in the text data) specified by the user. You can adjust it to fit.
[0462] First, translation is performed according to the position of the layout reference position flag. Assuming that the text line width of the first line is linew1 and the text line height is lineh1, the parallel movement amounts dvx and dvy of all relative start points are as follows according to the nine types of values of the layout reference position flag datum. is there.
[0463] When datum = lower left, dvx = 0, dvy = 0 datum = middle lower, dvx = -linew1 / 2, dvy = 0 datum = lower right, dvx = -linew1, dvy = 0 datum = middle left When dvx = 0, dvy = -lineh1 / 2datum = middle, dvx = -linew1 / 2, dvy = -lineh1 / 2datum = right middle, dvx = -linew1, dvy = -lineh1 / 2datum = upper left When, dvx = 0, dvy = -lineh1datum = in the middle, dvx = -linew1 / 2, dvy = -lineh1datum = in the upper right, dvx = -linew1, dvy = -lineh1 (Equation 18) [0464] , Performs parallel movement of the output position in the X direction with reference to the visible part. The amount of translation of the relative start points of each basic character string is as follows.
[0465] dvx = of each basic character string-First character of the first basic character string of the line of interest Left side bearing (Equation 19) [0466] And the base angle of the first basic character string of the first line (character string attribute data of the basic character string) Rotational movement and parallel movement may be performed for all basic character strings in consideration of the abas) retained in and the layout reference point coordinates (pb [2] retained in the text data).
Finally, the calculation of the text layout rectangle is performed (step S3305).
The text layout rectangle is obtained from the text line layout rectangle of each line, but the text layout rectangle width textw and the text layout rectangle height texth can be obtained by using the relative start points obtained in step S3301 as follows. Desired.
[0469] textw = maximum text line width texth = text line height of the first line- (relative start point Y coordinate of the first basic character string of the last line-curning between the upper and lower characters of the first basic character string of the last line) (Equation 20) [ 0470 FIG. 67 shows an example of the calculation result of the text layout rectangle. In the figure, the solid line rectangle is a text layout rectangle. The dotted rectangle is the text line layout rectangle for each line.
FIG. 67 (a) shows an example when there is inter-character kerning. FIG. 67 (b) shows an example in which there is line spacing kerning before the first line and after the last line. Interline kerning after the last line is ignored. FIG. 67 (c) shows an example when there is a blank line (line with only line breaks) before the first line and after the last line. Blank lines after the last line are ignored.
After that, parallel movement according to the layout reference position flag, rotational movement according to the base angle, and parallel movement according to the layout reference point coordinates are performed, and the position of the text layout rectangle, that is, the lower left of the text layout rectangle. Point coordinates: pll [2] -Text layout rectangle Upper right point coordinates: plr [2] can be obtained.
Next, a data creation method when the overall length and height priority are specified in the point layout of the text will be described.
[0474] Fig. 34 shows a flowchart illustrating a data creation method when the overall length and height priority are specified in the point layout of the text.
[0475] As described above, the designation of the total length and the presence / absence of height priority when the total length is specified are specified on the new text creation panel 3901. Both specifications are valid only for point layouts.
[0476] First, the relative start point pw [2] of each basic character string is calculated (step S3401). This calculation is the same as the calculation in step S3301, assuming that the total length is not specified.
Next, the text line width linew of each line is calculated (step S3402). This calculation is the same as the calculation in step S3302, which was performed assuming that the total length was not specified.
Next, the text line height lineh of each line is calculated (step S3403). This calculation is the same as the calculation in step S3303, which was performed assuming that the total length was not specified.
[0479] The subsequent processing is performed by the determination of whether or not the height priority is specified by step S3404 and the magnitude determination of the maximum text line width and the specified total length by step S3405. When the height priority is not specified, as shown in Fig. 36, when the height priority is specified and the maximum text line width the total length, as shown in Fig. 37, when the height priority is specified and the maximum text line width> In the case of the total length, it is divided into three types of processing.
[0480] FIG. 68 shows an example in which the overall length and height priority are specified in the point layout of the text. In the figure, the solid line rectangle indicates the text line layout rectangle.
[0481] Fig. 68 (a) shows the case where the total length is not specified (= 0 is input). Figure 68 (b) shows the case where height priority is specified and maximum text line width> total length. FIG. 68 (c) shows the case where the height is prioritized and the maximum text line width the total length. FIG. 68 (d) shows the case where the height priority is not specified and the maximum text line width> the total length. FIG. 68 (e) shows the case where the height priority is not specified and the maximum text line width the total length.
[0482] describes a case where the height priority is not specified based on the flowchart of FIG. 35.
[0483] In this case, as shown in the examples of FIGS. 68 (d) and 68 (e), the character size is adjusted so that one line of text fits in the specified overall length. If the maximum text line width> total length, as shown in Fig. 68 (d), the character size is reduced, and if the maximum text line width total length, as shown in Fig. 68 (e), the character size is reduced. Is expanded.
First, the ratio scl (> 1) of the specified overall length widln and the maximum text line width linewm obtained in step S3402 is obtained (step S3501).
[0485] scl = widln / linewm (Equation 21) [0486] Next, the character string attributes and layout information data of each basic character string constituting the text are changed (step S3502). As the font size changes, the affected data also changes at the same time. Specifically, each data of character size, character spacing, line spacing, first character left side bearing, last character right side bearing, and character string width is multiplied by the scl obtained in step S3501.
Next, the relative starting point of each basic character string is recalculated (step S3503).
[0488] The calculation method of the relative start point is the same as that in step S3401, but the data after the change in step S3502 is used for recalculation for each character string attribute and layout information data.
[0489] Further, the kerning amount is recalculated from the kerning parameters using the data changed by step S3502 based on the equations 9 to 11.
Next, the text line width of each line is recalculated (step S3504).
[0491] The calculation method of the text line width is the same as that in step S3402, but each character string attribute and layout information data is recalculated using the data changed by step S3502.
Next, the text line height of each line is recalculated (step S3505).
[0493] The calculation method of the text line height is the same as that in step S3403, but each character string attribute and layout information data is recalculated using the data changed by step S3502.
In the subsequent calculation step S3409 of the character string start point of each basic character string and the calculation step S3410 of the text layout rectangle, these calculations are performed in step S3304, respectively, when the total length is not specified. And the calculation in step S3305.
[0495] describes the case where the height is prioritized and the maximum text line width the total length is specified based on the flowchart of FIG.
[0496] In this case, as shown in the example of FIG. 68 (c), a certain character spacing is added and adjusted so that the text of one line has the specified overall length. In the present embodiment, even if each basic character string constituting one line of text has a different character spacing, a certain character spacing is added, but for each basic character string that has already been set. It is also possible to add character spacing so that the character spacing ratio does not change, or to add character spacing according to the character size ratio of each basic character string.
First, the difference dif (positive value) between the specified overall length widln and the maximum text line width linewm obtained in step S3402 is obtained (step S3601).
[0498] dif = widln-linewm (Equation 22) [0499] Next, the number of characters in one line of the maximum text line width line obtained in step S3402 is calculated. nch is the sum of the number of characters nn in each basic character string of the maximum text line width line. When the number of characters is nch, the number of character spacings is (nch-1), so the additional character spacing difference per character to match the total length is expressed by the following equation 23 (step S3602).
[0500] difch = dif / (nch-1) (Equation 23) [0501] Next, the character string attributes and layout information data of each basic character string constituting the text are changed (step S3603). As the character spacing changes, the affected data also changes at the same time. Specifically, the difference obtained in step S3602 is added to the data between characters, and the difference * nn is added to the data of the character string width.
[0502] Next, the relative start point of each basic character string is recalculated (step S3604).
[0503] The calculation method of the relative start point is the same as that in step S3401, but each character string attribute and layout information data are recalculated using the data changed by step S3603.
[0504] Further, the kerning amount is recalculated from the kerning parameters using the data changed by step S3603 based on the equations 9 to 11. In this case, since the reference character height, length ratio, and flatness ratio have not changed, the kerning amount itself has not changed, and if the kerning data before the change is saved, recalculation is not necessary.
Next, the text line width of each line is recalculated (step S3605).
[0506] The calculation method of the text line width is the same as that in step S3402, but each character string attribute and layout information data is recalculated using the data changed by step S3603.
[0507] Subsequent calculation steps S3409 of the character string start point of each basic character string and calculation step S3410 of the text layout rectangle are the calculation of steps S3304 and S3305, respectively, when the total length is not specified. Is similar to.
Finally, based on the flowchart of FIG. 37, the case where the height priority is specified and the maximum text line width> the total length will be described.
[0509] In this case, as shown in the example of FIG. 68 (b), the length ratio is adjusted (reduced) so that one line of text fits in the specified overall length.
[0510] First, the ratio scl (> 1) of the specified overall length widln and the maximum text line width linewm obtained in step S3402 is obtained (step S3701). The calculation formula is as shown in Equation 21.
Next, the character string attribute and layout information data of each basic character string constituting the text are changed (step S3702). In addition to changing the length ratio, the data in the width direction of each character basic character string is also changed at the same time. Specifically, each data of character spacing, first character left side bearing, last character right side bearing, and character string width is multiplied by the scl obtained in step S3701.
Next, the relative start point of each basic character string is recalculated (step S3703).
[0513] The calculation method of the relative start point is the same as that of S3401, but the data after the change in step S3702 is used for recalculation for each character string attribute and layout information data.
[0514] Further, the kerning amount is recalculated from the kerning parameters using the data changed by step S3702 based on the equations 9 to 11.
Next, the text line width of each line is recalculated (step S3704).
[0516] The calculation method of the text line width is the same as that in step S3402, but each character string attribute and layout information data is recalculated using the data changed by step S3702.
[0517] Subsequent calculation steps S3409 of the character string start point of each basic character string and calculation step S3410 of the text layout rectangle are the calculation of steps S3304 and S3305, respectively, when the total length is not specified. Is similar to.
[0518] Next, a data creation method when laying out the text in a rectangular shape will be described.
[0519] FIG. 38 shows a flowchart illustrating a data creation method when the text is laid out in a rectangular shape.
[0520] Further, FIG. 69 shows an example of created data when the text is laid out in a rectangular shape.
[0521] In the figure, the rectangle shown by the solid line is the layout target rectangle in the rectangular layout. The rectangle surrounding the character string of each line shown by the dotted line is a text line layout rectangle.
[0522] FIG. 69 (a) is an example when left alignment is specified, FIG. 69 (b) is an example when right alignment is specified, and FIG. 69 (c) is an example when center alignment is specified. , FIG. 69 (d) shows an example in the case where justification is specified.
[0523] First, the text line width of each line is calculated (step S3801).
[0524] The text line width linew can be calculated by the same method as in step S3402, but at this point, the relative start point of each basic character string has not been obtained, so the character string width of each basic character string is not obtained for the line of interest. tw1 ~ twn (n is the number of basic character strings of the line of interest), left and right character spacing dhx1 ~ dhxn, last character right side bearing sbrn of the last basic character string, character spacing dfletn, first character left side bearing sbl1 of the first basic character string In consideration of, it is calculated as follows. The reason for subtracting the character spacing dfletn is to exclude the character spacing after the last character of the final basic character string.
[0525] linew = (dhx1 + tw1) + ... + (dhxn + twn) -dfletn-sbl1 + sbrn (Equation 24) [0526] Next, determine the size of the text line width and layout target rectangle width of each line. To do. (Step S3802) [0527] Layout target rectangle width wrect is stored as text data, and when the text layout position is specified in step S3107, when the rectangle is specified by element selection, that is, the rectangle layout. This is valid data when is specified.
[0528] For each line, the size of the text line width and the layout target rectangle width is determined, and if the text line width is larger, the text line width does not exceed the layout target rectangle width for the corresponding line, and , CPU21 automatically inserts a line break so that the text line width is the largest. (Step S3803) [0529] For example, when the text line width up to "ABCDE" is calculated based on Equation 24 for the text line "ABCDEFG", it becomes smaller or equal to the layout target rectangle width, and "ABCDEF". In the example where the width of the text line up to is larger than the width of the layout target rectangle when calculated based on Equation 24, a line break is inserted between "E" and "F", and this text line is "ABCDE". It is divided into two lines, "FG" and "FG".
[0530] When a line feed is inserted in step S3803, the basic character string is divided before and after the line feed, so the basic character string data and the basic character string layout information data of this text are recreated. (Step S3804) [0531] The size of the text line width and the layout target rectangle width is determined, and if the layout target rectangle width is larger, the text lines need to be processed in steps S3803 and S3804. There is no.
Next, the relative start point pw [2] of each basic character string is calculated (step S3805). This calculation is similar to the calculation in step S3301 for the point layout.
Next, the text line width linew of each line is calculated (step S3806). This calculation is similar to the calculation in step S3302 for the point layout.
Next, the text line height lineh of each line is calculated (step S3807). This calculation is similar to the calculation in step S3303 for the point layout.
[0535] As described above, there are four types of alignment positions in the case of the rectangular layout: left alignment, right alignment, center alignment, and justification. These are stored in the text data as the alignment flag adj, which is specified by the alignment position selection button 3907 on the new text creation panel 3901.
[0536] Since the processing differs depending on whether the alignment flag is justified and the left justification, right justification, and center justification other than justification, the determination is performed. (Step S3808) [0537] In step S3808, the processing when the alignment flag is determined to be other than justification will be described.
[0538] In this case, each text line is moved in the X direction according to the layout target rectangle width wrect. The amount of movement in the X direction of the i-th line is dx [i], and when the text line width is linew [i], it is expressed by the following formula according to the alignment flag. Here, the text line width linew [i] of the i-th line has already been calculated in step S3806.
[0539] In the case of left alignment, dx [i] = 0 In the case of right alignment, dx [i] = wrect-line w [i] In the case of center alignment, dx [i] = (wrect-line w [i]) / 2 (Equation 25) [0540] Add dx [i] obtained in Equation 25 to the X coordinate pw [0] of the relative start point of each basic character string existing in the i-th line to correct the relative start point. .. (Step S3811) [0541] On the other hand, in step S3808, the processing when the alignment flag is determined to be justified is as follows.
[0542] In this case, an appropriate character spacing is added to the basic character string of each text line according to the layout target rectangle width wrect so that both ends are aligned with the layout rectangle.
[0543] For the basic character string on the i-th line, the total dif [i] between the characters to be added is calculated as follows.
[0544] dif [i] = wrect-line w [i] (Equation 26) [0545] The total number of characters in the i-line nch [i] is the sum of the number of characters nn in each basic character string existing in the i-line. .. When the number of characters is nch [i], the number of character spacings is (nch [i] -1), so the additional character spacing difch [i] per character on the i-th line to match the width of the layout target rectangle is as follows. It is expressed by the formula of.
[0546] difch [i] = dif [i] / (nch [i] -1) (Equation 27) [0547] However, Equation 27 applies to the total number of characters in the i-th line, nch [i]. Only if it is greater than 1. When nch [i] is 0 or 1, even if the character spacing is added, it cannot be aligned at both ends, so the same processing as centering is performed for this line.
[0548] Based on Equations 26 and 27, dich [i] is added to the data between the characters of each basic character string existing in the i-th line, and difch [i] * nn is added to the data of the character string width. Add. Then, the X coordinate pw [0] of the relative start point of each basic character string existing in the i-th line is recalculated, and the relative start point is corrected. (Step S3809) [0549] Next, the text line width of each line is recalculated (step S3810). Using the relative start point data, the character spacing data, and the character string width data recalculated in step S3809, the calculation may be performed in the same manner as in step S3302.
The processing after that is the same regardless of whether the alignment flag is justified or if the alignment flag is left-aligned, right-aligned, or center-aligned other than justification.
Next, the character string start point pt [2] of each basic character string is calculated (step S3812).
[0552] In the case of the rectangular layout as well as in the case of the point layout, the text line layout rectangle of the first line serves as a reference in the layout. In the case of a rectangular layout, all relative start points are translated in the Y direction so that the text line layout rectangle of the first line is inscribed in the upper side, left side, and right side of the layout target rectangle.
[0553] The movement amount, dvx, and dvy are as follows. lineh1 is the height of the first line of text.
[0554] dvx = 0dvy = -lineh1 (Equation 28) [0555] Further, the output position in the X direction is translated with reference to the visible portion. The amount of translation of the relative start points of each basic character string is as shown in Equation 19 described above.
[0556] Then, the layout target rectangular inclination (arect held in the text data) and the coordinates of the layout reference point (which is the rotation reference point in the case of a rectangular layout) (pb [2] held in the text data) are taken into consideration. Then, the rotation movement and the parallel movement may be performed for all the basic character strings.
Finally, the text layout rectangle is calculated (step S3813).
The text layout rectangle is obtained from the text line layout rectangle of each line, but the text layout rectangle width textw and the text layout rectangle height texth can be obtained by using the relative start points obtained in step S3809 or step S3811 as described above. It is calculated as in Equation 20.
After that, parallel movement according to Equation 28, rotational movement according to the inclination of the layout target rectangle, and parallel movement according to the layout reference point coordinates are performed, and the position of the text layout rectangle, that is, the lower left of the text layout rectangle. Point coordinates: pll [2] -Text layout rectangle Upper right point coordinates: plr [2] can be obtained.
[0560] Next, a case where the character data is corrected will be described.
[0561] As described above, in the item of the command menu 67 of the "text" command, (1) New: Create a new text from now on. (2) Modify: Modify the text that has already been created. The case where the "Modify" menu is selected will be described.
[0562] FIG. 31 shows a flowchart illustrating a procedure for laying out the text as print data. However, when the text is modified, the same flow is followed as in the case of newly creating the text.
[0563] When the "Modify" menu is selected as a button, the guidance area 68 is displayed so as to select the text to be modified, and the user selects an element of the text to be modified according to this instruction.
[0564] Then, the current state of the element-selected text is displayed on the text correction panel 4501 as shown in FIG. 45.
[0565] On this text correction panel 4501, the information necessary for creating the text is input by button selection with the keyboard 11 or the mouse 12. This is the same as the processing from step S3101 to step S3103 when the "New" menu is selected. However, in the case of correction, editing should be performed only when you want to change the information that has already been set.
[0566] In the information input by the text correction panel 4501, as the information necessary for laying out the text, selection of layout reference position, selection of group format, selection of line alignment, total length, presence / absence of height priority There is a selection of, and the presence or absence of automatic kerning. In both cases, the current state of the selected text is displayed. This information is re-saved as textual data.
[0567] The character string data of the text is input from the keyboard 11 into the character string input area 4002 of the character string input panel 4001 displayed by selecting the "character string correction" button of the text correction panel 4501. The current string of the selected text is displayed. This information is re-saved as text and base string data.
[0568] Further, in the text correction panel 4501, as the print attribute of the character data, that is, the character string attribute, as the typeface name, the base angle, the flatness ratio, the length ratio, the italic angle, the character spacing, the line spacing, and the character size. Enter the reference font height or font size of. In both cases, the current state of the selected text is displayed. This information is re-saved as the character string attribute data of the basic character string that composes the text.
After completing the above operations, the user selects the "Settings" button on the text correction panel 4501 and selects the information necessary for creating the text (information for laying out the text, character string data, characters). Data print attribute) is confirmed.
[0570] In the text correction panel 4501, the text height (height of the text layout rectangle), the text width (width of the text layout rectangle), and the text line height of each line (the height of the text layout rectangle) of the text selected as the correction target are used. The text line layout rectangle height) and the text line width of each line (text line layout rectangle width) are displayed in the text layout rectangle information display area 4508 to help the user correct the text. In addition, if the "recalculate" button is selected after correcting each data on the text correction panel 4501, the text layout rectangle information is recalculated according to the corrected data.
[0571] Further, in the text correction panel 4501, whether the text selected as the correction target has a point layout or a rectangular layout is displayed in the layout information display area 4509. At this time, the points or rectangles that are the objects of the layout are highlighted in red or the like on the drawing area 62 so that they can be identified.
[0572] The subsequent processing from step S3104 to step S3110 is the same as in the case of new creation, but the processing for specifying the layout position in step S3107 is unnecessary unless the layout position is changed.
[0573] The character string data input by the character string input panel 4001 can be registered in the external storage device 33 together with the typeface information and the kerning information, and can be recalled, if necessary.
[0574] First, a method of registering character string data will be described.
[0575] In addition to the above-mentioned "new" and "modify", there is a "register" menu in the command menu 67 item of the "text" command, so select this button.
Next, the guidance area 68 is displayed to select the text to be registered, and the user selects an element of the text to be registered according to this instruction.
[0577] Then, the character string registration panel 4601 as shown in FIG. 46 is displayed. In the registered name list 4602, the registered names of the character string data that have already been registered are displayed in a list. When one of the items in the registered name list 4602 is selected with the mouse 12, the selected registered name is displayed in the registered name input area 4603, and the memo entered at the time of registration is displayed in the memo input area 4604.
[0578] If you want to change the content of the character string data of the registered name that has already been registered, you can select the "Register" button here. At this time, it is of course possible to change the contents of the memo input area 4604.
[0579] Alternatively, if you want to register the character string data with a new registered name, select one of the items in the registered name list 4602 with the mouse 12, edit the registered name and memo, and click the "Register" button. You can select the button or directly enter the registered name in the registered name input area 4603 and the memo in the memo input area 4604 from the keyboard 11, and then select the "Register" button.
[0580] When registering the character string data, in addition to the character string information, the typeface information and the kerning information are also saved at the same time.
On the other hand, the method of calling the registered character string data is as follows.
[0582] The first method is a method of selecting the "call character string" button of the new text creation panel 3901. Then, the character string calling panel 4201 as shown in FIG. 42 is displayed. In the first method, the newly created character string data becomes the registered character string data.
[0583] The second method is a method of selecting the "call character string" button of the character string input panel 4001. Then, again, the character string calling panel 4201 as shown in FIG. 42 is displayed. In the second method, the data of the registered character string is inserted at the cursor position in the "character string" input area.
[0584] As for the registered name of the character string data to be called, a list of registered names of the character string data already registered in the registered name list 4202 is displayed. Select one of them with the mouse 12 or select one of them. Enter the registered name directly from the keyboard 11 in the registered name input area 4203. The registered name selected in the registered name list 4202 is reflected in the registered name input area 4203, and conversely, the registered name entered in the registered name input area 4203 corresponds to the registered name list 4202 if it has already been registered. The item to be selected is selected.
[0585] When the "Confirm" button or the "Call" button is selected while the unregistered registered name is displayed in the registered name input area 4203, a warning screen prompting the user to re-enter is displayed. , It is necessary to enter the registered name of the character string data to be called again.
[0586] When calling the character string data, it is possible to select whether or not to call the typeface information and the kerning information at the same time as the character string information.
[0587] For example, the case of calling the text of FIG. 65 will be described as an example. As described above, this text is expressed as a control character string as follows. "\ T <24 @ AB \ h ^ 1.33 @ CD \ DEF @ EF \ t> 24 \ tv24 @ G \ lv48 @ \ t> 24 @ HJ" [0588] When calling only character string data, the typeface The information call selection button 4204 may be used to select "None", and the kerning information call selection button 4205 may be used to select "None".
The information called in this case is expressed by a control character string as follows. -"ABCDEFGHJ" [0590] To call by adding typeface information to character string data, select "Yes" with the typeface information call selection button 4204 and "None" with the kerning information call selection button 4205. Good.
The information called in this case is expressed by a control character string as follows. -"AB \ h ^ 1.33 @ CD \ DEF @ EFGHJ" [0592] When calling by adding kerning information to character string data, press "None" with the typeface information call selection button 4204, and press the kerning information call selection button 4205. You can select "Yes" with the button.
The information called in this case is expressed by a control character string as follows. "\ T <24 @ ABCDEF \ t> 24 \ tv24 @ G \ lv48 @ \ t> 24 @ HJ" [0594] When calling character string data with font information and kerning information added, call font information. The selection button 4204 may be used to select "Yes", and the kerning information call selection button 4205 may be used to select "Yes".
The information called in this case is expressed by a control character string as follows, which is the same as the registered character string data. "\ T <24 @ AB \ h ^ 1.33 @ CD \ DEF @ EF \ t> 24 \ tv24 @ G \ lv48 @ \ t> 24 @ HJ" [0596] Here, "Confirmation" of the character string calling panel 4201 When the button is selected, the call content confirmation panel 4301 is displayed as shown in FIG. 43, so that the user can confirm the content of the character string data to be called.
[0597] When the "call" button of the character string calling panel 4201 is selected, the control character string data of the registered character string is input to the "character string" of the character string input panel 4001 according to each of the first method and the second method. Called to the input area.
[0598] The method of setting the character spacing kerning is as described above, but the character spacing kerning amount can be set in advance for each typeface name. This will be called automatic kerning. The automatic kerning includes a case where the amount of inter-character kerning between two specific characters is set and a case where the amount of inter-character kerning before or after the specific character is set.
[0599] To enable automatic kerning, the "Yes" button may be selected with the automatic kerning selection button 3905 on the new text creation panel 3901 or the automatic kerning selection button 4505 on the text correction panel 4501. This information is stored as an automatic kerning flag in the text data.
[0600] The automatic kerning data is created in advance as an automatic kerning data file in the external storage device 33 for each typeface name.
[0601] The format for setting the kerning amount between two specific characters is as follows. There are two methods for specifying, one is to enclose the characters with "" "["] and the other is to enclose the character code with "<" and ">".
[0602] The method of specifying by characters is expressed in the following format. "A" is a keyword that indicates how to specify with characters. Considering the context of characters, the kerning parameter between characters between "char1" and "char2" in a certain typeface is dxp, Y in the X direction. Indicates that the direction is set to dyp.
[0603] A "char1" "char2" dxp dyp [0604] For example, set the kerning parameter between the letters "A" and "B" in a typeface to -2 in the X direction and +2 in the Y direction. When setting, it is expressed as follows.
[0605] A "A" "B" -2 2 [0606] The method of specifying by character code is expressed in the following format. "C" is a keyword that indicates how to specify by character code. Considering the context of characters, the kerning parameter between characters between <code1> and <code2> in a certain typeface is dxp in the X direction. Indicates that it is set to dyp in the Y direction.
[0607] C <code1> <code2> dxp dyp [0608] For example, to set the kerning parameter between the character code da and the character code db of a certain typeface to 4 in the X direction and 0 in the Y direction. , Is expressed as follows.
[0609] C <da> <db> 4 0 [0610] The format for setting the kerning amount between characters before or after a specific character is as follows. That is, in a format that sets the amount of kerning between characters between two specific characters, when setting the kerning between characters before a specific character, specify "" instead of "char1" or <code1 You can specify <00> instead of>. Also, when setting the inter-character kerning after a specific character, "" may be specified instead of "char2", or <00> may be specified instead of <code2>.
[0611] A "" ""char2 dxp dypC <00> <code2> dxp dypA char1"" "" dxp dypC <code1> <00> dxp dyp [0612] For example, the hyphen - (character code is For example, when setting the inter-character kerning parameter before 95) to -10 in the X direction and +20 in the Y direction, either of the following expressions may be used.
[0613] A "" "-" -10 20C <00> <95> -10 20 [0614] Also, for example, the inter-character kerning parameter after the hyphen "-" (character code is, for example, 95) in a certain typeface. , To set -10 in the X direction and -20 in the Y direction, use either of the following expressions.
[0615] A "-" "" -10 -20C <95> <00> -10 -20 [0616] Automatic kerning data is the method described above by the user in the "character string" input area of the character string input panel 4001. It is evaluated by adding it to the inter-character kerning data entered in. Therefore, values that take automatic kerning into consideration are set in the data of the kerning dhx between the left and right characters and the kerning dhy between the upper and lower characters of the basic character string layout information data.
[0617] Further, the control format of the automatic kerning data is not displayed in the "character string" input area. This is because the purpose of automatic kerning is to provide a certain appropriate inter-character kerning regardless of the user, so that the user cannot easily change it unintentionally.
[Printing of Print Data] Next, a procedure for printing the created print data with a printing device such as a laser printer 51 or an imagesetter 52 will be described.
[0619] When the print data is used as a block copy, for example, the laser printer 51 prints the print data for calibration (output for confirmation of the print data) and also outputs the contents of the print log file. The image setter 52 is used to print the print data in a clear print (high-precision output that becomes a formal block copy).
[0620] The information processing device according to the present embodiment has a so-called WYSIWYG function of controlling the display of graphic data and character data on the display device 41 with an image of the same display form as the output form at the time of printing. However, even if it has the WYSIWYG function, the display device 41 has a resolution of only about 100 DPI, so in order to check the detailed layout and check for mistakes, the display is about 500 DPI. The print data must be printed by the laser printer 51, which has a much higher resolution than the device 41.
[0621] Of course, it is possible to directly print the print data with the image setter 52 and check these, but since the image setter 52 has an extremely high resolution of about 3000 DPI, a special paper is used. Since it has to be used, printing costs are high, and the output speed is slow, even when printing with the image setter 52 in the end, the print data is printed with the laser printer 51 in advance. It is normal to print and check the output form.
(Effects of Embodiment) As described above, according to the first embodiment of the present invention, there are the following effects.
[0623] First, when graphic data or character data, particularly character data, is printed as print data such as block copy, an accurate layout can be easily realized.
[0624] Further, not only graphic data and character data but also group data such as illustrations and symbols can be easily handled.
[0625] Further, when printing with a laser printer, an image setter, or the like, an appropriate printing method such as proof printing or clear printing can be selected depending on the type of the printing device.
[Effect of the Invention] As described above, according to the present invention, highly accurate print data, particularly print data including character data, can be accurately and easily produced without deteriorating the work efficiency of the user. It has the effect of being able to be created in.
BRIEF DESCRIPTION OF THE DRAWINGS [Fig. 1] Fig. 1 is a block diagram showing a hardware configuration of an information processing apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a function of WYSIWYG.
FIG. 3 is a diagram showing a main panel of the program of the present embodiment.
FIG. 4 is a diagram showing feature points of each element.
FIG. 5 is a diagram showing an example of designating a position by designating an intersection.
FIG. 6 is a diagram showing an example of designating a position by designating a point on a line.
FIG. 7 is a diagram showing an example of a print data file.
FIG. 8 is a diagram showing an example of a symbol.
FIG. 9 is a flowchart illustrating a procedure for laying out a basic figure as print data.
FIG. 10 is a diagram showing an example in which a print attribute is added to graphic data.
FIG. 11 is a diagram showing a graphic data print attribute editing panel.
FIG. 12 is a diagram showing a line pitch editing panel (an example of an alternate long and short dash line).
FIG. 13 is a flowchart illustrating a procedure for grouping elements and registering symbols.
FIG. 14 is a diagram showing a state in which a target element is selected by specifying a rectangular area.
FIG. 15 is a diagram showing a state in which a target element is selected by specifying an arbitrary area.
FIG. 16 is a diagram showing an example of a result of extracting contour information of a symbol.
FIG. 17 is a diagram illustrating quantization of coordinate data.
FIG. 18 is a flowchart illustrating a procedure for temporarily enlarging an element and extracting contour information.
FIG. 19 is a flowchart illustrating a procedure for extracting contour information by a geometric method.
FIG. 20 is a diagram showing an example in which contour information of a line segment sequence is extracted by a geometric method.
FIG. 21 is a diagram showing grouped elements and their circumscribed rectangles.
FIG. 22 is a diagram showing rectangular feature points.
FIG. 23 is a diagram showing an example in which an arbitrary rectangle is set as a layout reference rectangle of a group figure.
FIG. 24 is a diagram showing an example in which the circumscribed rectangle of the component is set as the layout reference rectangle of the group figure.
FIG. 25 is a flowchart illustrating a procedure for calling and laying out symbols.
FIG. 26 is a diagram showing a symbol layout panel.
FIG. 27 is a diagram showing a symbol shape list panel.
FIG. 28 is a diagram showing a symbol content confirmation panel.
FIG. 29 is a diagram showing an example in which symbols are laid out in points.
FIG. 30 is a diagram showing an example in which symbols are laid out in a rectangular shape.
FIG. 31 is a flowchart illustrating a procedure for laying out text as print data.
FIG. 32 is a flowchart illustrating a procedure for calculating a character height ratio.
FIG. 33 is a flowchart illustrating a data creation method when laying out text points.
FIG. 34 is a flowchart illustrating a data creation method when the overall length and height priority are specified in the point layout of text.
FIG. 35 is a flowchart illustrating a data creation method when height priority is not specified.
FIG. 36 is a flowchart illustrating a data creation method when height priority is specified and maximum text line width overall length.
FIG. 37 is a flowchart illustrating a data creation method when height priority is specified and maximum text line width> total length.
FIG. 38 is a flowchart illustrating a data creation method when laying out a text in a rectangular shape.
FIG. 39 is a diagram showing a new text creation panel.
FIG. 40 is a diagram showing a character string input panel.
FIG. 41 is a diagram showing a kerning input panel.
FIG. 42 is a diagram showing a character string calling panel.
FIG. 43 is a diagram showing a call content confirmation panel.
FIG. 44 is a diagram showing a typeface information change panel.
FIG. 45 is a diagram showing a text correction panel.
FIG. 46 is a diagram showing a character string registration panel.
FIG. 47 is a diagram illustrating a base angle of a character string attribute.
FIG. 48 is a diagram illustrating a character direction of a character string attribute.
FIG. 49 is a diagram illustrating an italic angle of a character string attribute.
FIG. 50 is a diagram illustrating a horizontal inversion flag and a vertical inversion flag of a character string attribute.
FIG. 51 is a diagram showing an example of text.
FIG. 52 is a diagram illustrating terms related to characters.
FIG. 53 shows an example of a character in which the side bearing is negative.
FIG. 54 is a diagram illustrating a flatness ratio and a long body ratio.
FIG. 55 is a diagram showing an example in which a print attribute is added to character data.
FIG. 56 is a diagram showing an example of a result of extracting contour information of text.
FIG. 57 is a diagram showing a layout reference rectangle of text and a layout reference position.
FIG. 58 is a diagram showing an example in a case where text is laid out in dots.
[Fig. 59] Fig. 59 is a diagram showing an example when the character spacing of text is set.
FIG. 60 is a diagram showing an example when the line spacing of text is set.
FIG. 61 is a diagram showing an example when text spacing kerning is set.
FIG. 62 is a diagram showing an example when text line spacing kerning is set.
[Fig. 63] Fig. 63 is a diagram showing an example when the typeface information of the text is changed.
[Fig. 64] Fig. 64 is a diagram showing an example when the typeface information of text is returned to the initial value.
FIG. 65 is a diagram showing an example of created data when text is point-laid out.
FIG. 66 is a diagram showing an example of a calculation result of a text line width.
FIG. 67 is a diagram showing an example of a calculation result of a text layout rectangle.
FIG. 68 is a diagram showing an example when the overall length and height priority are specified in the point layout of text.
FIG. 69 is a diagram showing an example of created data when a text is laid out in a rectangular shape.
[Code description] 11 Keyboard 12 Mouse 21 Central processing unit (CPU) 22 System bus 31 Read-only storage (ROM) 32 Read-write storage (RAM) 33 External storage 41 Display 51 Laser printer 52 Imagesetter 53 Laser marker 61 Main panel 62 Drawing area 63 Mouse pointer 64 Character input area 65 Button 66 General-purpose button 67 Command menu 68 Guidance area 71 Panel 72 Button
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 3128699 | Japan | A | |
| JP19990031286 | – | – | – |
Numbers
- Publication
- 4174117
- Publication, DOCDB
- 4174117
- Publication, EPODOC
- JP4174117B
- Application
- 3128699
- Application, DOCDB
- 3128699
- Application, EPODOC
- JP19990031286
Titles2
- Japanese
- 情報処理装置及び情報処理方法並びに記憶媒体
- English
- Information processing equipment, information processing method, and storage medium
Classification
- IPC, 4
- G06F17 21
- G06T11 60
- H04N1 387
- G03F1 00