Printing apparatus

Abstract: A printing apparatus includes a printer for performing printing on the basis of position information and size information, and a size changing unit for changing the size of a space on the basis of the size information of a character adjacent to a space area upon reception of a space code.

Description: Field of the Invention The present invention relates to a printing apparatus and, more particularly, to a printing apparatus for printing a character string including a type of character having different display and printing character sizes and a type of character having the same display and printing character sizes using an ordinary dot impact printer or the like. Related Background Art A conventional wordprocessor or the like comprises a keyboard serving as a character input means, a liquid crystal display serving as a character display means, and a printer serving as a character printing means. When a character string including a character having different display and printing character sizes and a character having the same display and printing character size is to be printed, a space between the characters (a space between lines) on the display screen is sent to the printer, thereby printing the characters. The following drawbacks are presented by the above conventional example. (1) For example, since the content of the display screen in Fig. 6 is printed as shown in Fig. 8, a positional relationship between the printed characters becomes different from that between the displayed characters. (2) In order to set the positional relationship between the printed characters equal to that between the displayed characters, a graphic printing function of the printer is used, display character font data is converted into graphic data, and the graphic data is sent to the printer. In this case, the data quantity is increased several tens of times as compared with a case wherein font data is sent in the form of a character code. In addition, since characters are processed as graphic data, a large-capacity memory for developing the graphic data into a character string is required to result in an expensive apparatus. Furthermore, document US-A-4 723 217 discloses an apparatus for outputting a character composed of basic symbols. This apparatus comprises an input device for inputting a plurality of binary codes, wherein each binary code corresponds to a respective one of the basic symbols, and an output device such as a printer or a display for outputting the characters. The apparatus further comprises a detecting circuit for detecting an indication code for supplying a space character from among the binary codes, a first calculating circuit for calculating the number of basic symbols, a converting circuit for converting the number of characters into a number of output units with respect to the size of the basic symbols, a second calculating circuit for calculating the supplying number of space characters by subtracting the number of output units from the number of basic symbols, and a supplying circuit for supplying a space character code to the output device. SUMMARY OF THE INVENTION It is an object of the present invention to provide a printing apparatus, wherein a positional relationship between printed characters is kept maintained as that between displayed characters, without increasing data quantity. According to the present invention this object is accomplished by a printing apparatus as defined in claim 1 and a printing method as defined in claim 7. Further objects and advantages of the present invention are described below with respect to the preferred embodiments of the present invention in combination with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing an arrangement of a printing apparatus according to the first embodiment of the present invention; Fig. 2 is a block diagram showing the printing apparatus of the first embodiment; Fig. 3 shows a format of a data structure of character string data; Fig. 4 shows a format of a data structure of printing character string data; Fig. 5 is a flow chart showing a processing sequence; Fig. 6 is a view showing a display content of an input character string; Fig. 7 is a view showing a printed content as a result of processing the input character data shown in Fig. 6; Fig. 8 is a view showing a conventional printed content; Fig. 9 is a view showing a character input according to the second embodiment of the present invention; and Fig. 10 is a view showing a printed content according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 1 is a block diagram showing an arrangement of character string printing processing according to the first embodiment of the present invention. An input/output block 1 comprises an input/output unit 12 and a printing unit 13. A processing block 2 comprises a character input means 21, a character string memory means 22, a display control means 23, a character space determination means 24, and a character output means 25. The input/output unit 12 comprises a transparent input board having a transparent electrode matrix, a liquid crystal display, and a VRAM. Coordinate data is input when the transparent input board is pressed with an input pen 11. The coordinate data is sent to the character input means 21. Characters are displayed on the liquid crystal display in accordance with display dot coordinate data sent from the display control means 23. The printing unit 13 comprises a printer for performing printing on the basis of the printing information from the character output means 25. The character input means 21 receives pen coordinate data sent from the input/output unit 12 and recognizes a character in accordance with a recognition scheme such as a conventional stroke recognition method to obtain a character code, X- and Y-coordinates of the character, and the character size. These pieces of information are sent to the character string memory means 22. The character string memory means 22 sequentially stores character data input from the character input means 21. When a printing start command is input, the character string memory means 22 sends the stored character string data to the character space determination means 24. The character space determination means 24 sequentially processes the character string data sent from the character string memory means 22 and generates printing data in which an unnecessary character space is changed or deleted. The printing data is sent to the character output means 25. The character output means 25 sends a character code output from the character space determination means 24 to the output unit 13, thereby causing the output unit 13 to perform printing. The display control means 23 generates display dot coordinate data in accordance with the character code data, the character position data, and the character size data sent from the character input means 21. The display dot coordinate data is sent to the liquid crystal display in the input/output unit 12, thereby displaying a character. Fig. 2 is a block diagram of the first embodiment. A coordinate input unit 31 in the input/output unit 12 serves as a transparent input board having a transparent electrode matrix. Coordinate data is input when the coordinate input unit 31 is pressed with the input pen. The coordinate data is sent to a central processing unit (CPU) 32. The CPU 32 comprises a ROM 32a for storing a processing sequence corresponding to a flow chart in Fig. 5 and a RAM 32b for storing data to be processed. The character string data input from the coordinate input unit 31 and stored in the RAM 32b is processed in accordance with the processing sequence of the ROM 32a. The processed data is output from a character output means 35 to the printing unit 13 (i.e., a printer 36). A liquid crystal display unit 34 in the input/output unit 12 comprises a liquid crystal display and a VRAM. The liquid crystal display unit 34 displays a character in accordance with the display dot character data sent from a display control means 33. Figs. 3 and 4 show formats of data structures of character string data stored in the RAM 32b. The character data input from the character input means 21 is stored in the form of the data structure shown in Fig. 3 in the RAM 32b and is transformed into data represented in Fig. 4 in accordance with processing in step S71 of the flow chart in Fig. 5. Fig. 6 shows a display content of the display screen, and Fig. 7 shows a printed content obtained by processing the content of the display screen in accordance with the first embodiment. A first character 51, i.e., in Fig. 6 is represented by code(1), x(1), y(1), dx(1), and dy(1) in Fig. 3 and is represented by a character code (1) and a character size (1) in Fig. 4. The X- and Y-coordinates of a point A of the character 51 are given as x(1) and y(1). The X- and Y-coordinates of a point B are given as x(1)+dx(1) and y(1)+dy(1), respectively. The X- and Y-coordinates of a point C of a second character 52 are given as x(2) and y(2), and the X- and Y-coordinates of a point D are given as x(2)+dx(2) and y(2)+dy(2), respectively. A code (1) represents a character code of the first character and is represented by a general JIS 2-byte code. Dx(1) represents a horizontal size of the first character, and dy(1) represents a vertical size of the first character. Code(1), x(1), y(1), dx(1), and dy(1) respectively comprise 2-byte data. One-character data comprises 10-byte data. The character code of the second character, i.e., a code (2) is stored after dy(1). As shown in Fig. 3, a page end code, i.e., a code (FFFF) is stored after dy(13) of the thirteenth character as the last character. Referring to Fig. 4, a character code (1) represents a character code of the first character and is represented by a general JIS 2-byte code. A character size (1) represents a size of the first character. A character having a size of 8 x 8 is represented by a code "1", a character having a size of 8 x 16 is represented by a code "2", a character having a size of 16 x 16 is represented by a code "3", and a character having a size of 24 x 24 is represented by a code "4". The character size code of the first character is determined by dx(1) and dy(1). A line feed code is a code representing a general line feed and is represented by 000A, thus representing the end of each line. A page end code is a code representing an end of a page and is represented by 000B. Fig. 5 is a flow chart showing the processing sequence of this embodiment. The normal mode of this apparatus is a character input mode. In this mode, an operator writes a character with the input pen 11 on the coordinate input board to input a character. The input character is recognized in accordance with the stroke recognition scheme. The recognized character is stored in the RAM 32b. When a printing command key displayed on the screen or a printing switch as a key switch is depressed, printing processing in the flow chart of Fig. 5 is performed. In step S71, character data stored in the data structure of Fig. 3 in the RAM 32b is transformed into line data having the data structure shown in Fig. 4. When each character is input from the input/output unit 12, it is stored in the form of the data structure shown in Fig. 3. In the data structure shown in Fig. 3, the characters are stored in the order of smaller values y(n) as Y-coordinates of the character positions. If characters have the same Y-coordinate, these characters are stored in the order of smaller values x(n), i.e., X-coordinates of the character positions. For example, the characters 51, 52, 53, and 54 have the same Y-coordinate and are stored in the order of smaller X-coordinates, i.e., in the order named. The character 51, i.e., " " in Fig. 6 is represented by code (1), x(1), y(1), dx(1), and dy(1) in Fig. 3. Since this character is the leftmost character on the first line, the value of the code (1) is stored in the character code (1) in Fig. 4. Since the value dx(1) is 24, a code "4" representing a character size of 24 x 24 is set in the character size (1). When a character having the same Y-coordinate as y(1) is searched, the character 52, i.e., " " is found. Referring to Fig. 6, an 8-dot space is formed between the characters 51 and 52. That is, since x(1)+dx(1)+8 = x(2), then a JIS code "2121" representing a space is set in the character code (2). Since the 8-dot space is formed, a code "2" as a value for a character size of 8 x 16 (i.e., a half size in the horizontal direction and a full size in the vertical direction) is set in the character size (2), and the code (2) of " " as the character 52 is set in the character code (3), and a code "4" representing the size of " " of the character 52 is set in the character size (3). The above operations continue until characters having different Y-coordinates on the same line are completely processed. When no more characters having different Y-coordinates on the same line are present, a line feed code is set next to the character size of a character at the right end of this line. The character 54, " ", in Fig. 6 has a character code (7), and no character is present on the right side of the character 54, " ". A line feed code is set next to the character size (7). Characters on the next line are then processed. That is, in the data structure of Fig. 4, a code (5) representing " " of the character 55 is set next to dy(4) of the character 54, " ". This character is a character at the left end of the next line and is stored in a next character code (8) of the line feed code in Fig. 4. When all the characters on this line are completely processed, a page end code is stored after the line feed code because this line is the last line in Fig. 6. In this manner, the data structure in Fig. 3 is transformed into the data structure of Fig. 4. In step S72, the work area of the RAM 32b is initialized. An initial value of "16" is stored in an area SIZE for storing a character size, and an initial value of "1" is stored in n representing a currently processed character number. In step S73, it is checked whether the character code is a code "2121" representing a space. If so, since the character code represents the JIS space, the flow advances to step S75 to process the space code. In step S75, the character size before the space code is checked. If the value of the area SIZE for storing a character size is "24", the size of the previous character is "24". In this case, the flow advances to step S76 to check the character size of the space code. The character sizes of the space code are "8" and "16". If the character size represents "8", the flow advances to step S78. A space having a size of 8 x 16 is deleted after the character having a size of 24 x 24, thereby realizing correction during printing. More specifically, at this time, the space having the size of 8 x 16 is not sent to the printer. If the character size is not "8", it must be "16", so the flow advances to step S77. The character size of the space code having a character size of "16" is changed to "8". In this operation, the space having a size of 16 x 16 after the character having a size of 24 x 24 is changed to a space having a size of 8 x 16, thereby realizing correction during printing. If the value is not "24" in step S75, processing for the space code need not be performed, and the flow advances to step S79. In step S79, the character number n for processing the next character is incremented by one. In step S80, the value of the area SIZE for storing a character size is kept to be "16". Therefore, poor appearance does not occur even if the next character also represents a space. In step S86, the processed characters are output from the character output means 25 to the printing unit 13. When processing is performed through step S77, the space code representing a space having a size of 8 x 16 is sent to the printer. That is, a control code for producing a character size of 8 x 16 (i.e., a half size in the horizontal direction and a full size in the vertical direction), and then the space code "2121" is sent. When processing is performed through step S78, since the space is deleted, no code is output to the printer. On the other hand, when the character code represents any code other than the space code in step S73, it is checked in step S81 whether the character code is a line feed code or a normal character. If the character code (n) is a line feed code (000A), the flow advances to step S84 to check the end of page. If data next to the line feed code is a page end code (000B), the flow is ended. If the character code is any code other than the end code, the area SIZE is initialized in step S85 to prevent poor appearance even if the next line is started with a space code. That is, a value of "16" is set in the area SIZE for storing the character size to prepare for processing of the next character code. In step S81, when the character code is any code other than the line feed code, the flow advances to step S82. The currently processed character size, i.e., character size (n) is stored in the area SIZE for storing a character size for space processing. In step S83, the character number n for processing the next character is incremented by one. When the above processing is performed, spaces between the input character string consisting of the characters 51, 52, and 53 are deleted, as shown in Fig. 6. The positional relationship between the printed characters is kept unchanged as that between the displayed characters, as shown in Fig. 7. In the above embodiment, the input unit 31 of the input/output unit 12 comprises the transparent input board having a transparent electrode matrix. The input handwritten characters are transformed into character codes by the character input means 21. This portion can be realized by a keyboard as that of a general wordprocessor and a character input means for outputting the input character code, the character position, and the character size. In the above embodiment, a space between characters is deleted. However, a space after a character having a size of 24 x 24 can be deleted in the same manner as described above. In this case, an area SIZE for storing a line size is formed in place of the area SIZE for storing a character size. If a line including a character having a character size of 24 x 24 appears, "24" is stored in the area SIZE for storing the line size. If a space line appears next, the space line is deleted. An input shown in Fig. 9 can be printed as shown in Fig. 10. As described above, there is provided a means for deleting a space code between the characters or a space between the lines on the basis of pieces of character size information before and after the space code in accordance with the character code sent to the printing means. There is therefore provided a printing apparatus wherein when a character string including a character having different display and printing character sizes and a character having the same display and printing character size is to be printed, the positional relationship between the printed characters is kept unchanged as that between the displayed characters.

Claims: A printing apparatus comprising: printing means (13) for performing printing according to printing data; input/output means (12) having a two dimensional plane for inputting a plurality of lines of a handwritten character string; character input means (21) for recognizing each character of said plurality of lines of said handwritten character string, the input/output means (12) being arranged to display said handwritten character string recognized by said character input means (21); character space determination means (24) for changing a size of a space between or after characters of said handwritten character string recognized by said character input means (21), whereby printing data is modified, an for supplying the modified printing data to said printing means (13); wherein said character space determination means (24) changes the size of a space between characters depending on the size of the space between the characters and a size of a character input before the space. A printing apparatus according to claim 1, wherein said character space determination means (24) deletes a space line depending on a size of a character input before the space line. A printing apparatus according to claim 1 or 2, further comprising memory means (22) for storing a character code recognized from said handwritten character string by said character input means (21). A printing apparatus according to claim 1 or 2, wherein said printing means (13) is a printer (13). A printing apparatus according to claim 1 or 2, wherein said input/output means (12) comprises a display means (12) and a coordinate input means (12). A printing apparatus according to claim 5, wherein said display means (12) is arranged upon said coordinate input means (12). A printing method comprising the steps of: inputting a plurality of lines of a handwritten character string from input/output means (12) having a two dimensional plane; recognizing each character of said plurality of lines of said handwritten character string by character input means (21), the input/output means (12) being arranged to display said handwritten character string recognized by said character input means (21); changing a size (S72 to S80) of a space between or after characters of said handwritten character string recognized by said character input means (21), whereby printing data is modified; and supplying the modified printing data (S86) to printing means (13); printing according to printing data; wherein in said changing step (S72 to S80) the size of a space between characters is changed depending on the size of the space between the characters and a size of a character input before the space. A printing method according to claim 7, wherein in said changing step a space line is deleted depending on a size of a character input before the space line.

Inventors: ARAI TSUNEKAZU, ARAI, TSUNEKAZU, ARAI, TSUNEKAZU, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1991
Main classification: G06F17
IPC codes: B41J19, B41J21, G06F17, B41J2