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:
This application is a continuation of prior application Ser. No. 07/797,180 filed Nov. 25, 1991, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. 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. 
     2. 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) 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 quantity of data 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 which results in an expensive apparatus. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a printing apparatus, wherein the conventional drawbacks described above can be eliminated, and a positional relationship between printed characters is maintained as that between displayed characters. 
     In order to achieve the above object of the present invention, there is provided a printing apparatus comprising printing means for performing printing on the basis of position information and size information and size changing means for changing the size of a space on the basis of the size information of a character adjacent to a space portion upon reception of a space code. 
     In addition, the printing apparatus further comprises input means for inputting a character having the position information and the size information, and character display means for displaying the character on the basis of the position information and the size information. 
     With the above arrangement, there is provided space size changing means for identifying the space code from a character code sent to the printing means and for changing the space size on the basis of pieces of character size information before and after the space portion, thereby printing the displayed character without changing the relative positional relationship. 
     It is another object of the present invention to provide an information processing apparatus comprising: 
     input means for inputting character information and space information; 
     size input means for inputting size information of the character information; 
     means for discriminating the size of a character; and 
     size changing means for changing the size of a space represented by the space information between characters, on the basis of a discrimination result of the discriminating means. 
     It is still another object of the present invention to provide an information processing apparatus comprising: 
     input means for inputting a character having position information and size information; 
     character display means for displaying the character on the basis of the position information and the size information; and 
     size changing means for changing the size of a space on the basis of the size information of a character adjacent to a space portion upon reception of a space code. 
     It is still another object of the present invention to provide a printing apparatus comprising: 
     printing means for performing printing on the basis of position information and size information; and 
     size changing means for changing the size of a space on the basis of the size information of a character adjacent to a space portion upon reception of a space code. 
     It is still another object of the present invention to provide an information processing apparatus comprising: 
     input means for inputting a character; 
     means for discriminating the size of the character; and 
     size changing means for changing the size of a space between characters on the basis of a discrimination result of the discriminating means. 
     It is still another object of the present invention to provide an information processing apparatus comprising: 
     input means for inputting character information and space information; 
     means for discriminating the size of the character; and 
     size changing means for changing the size of a space represented by the space information between characters on the basis of a discrimination result of the discriminating means. 
    
    
     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., &#34;&#34; 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×8 is represented by a code &#34;1&#34;, a character having a size of 8×16 is represented by a code &#34;2&#34;, a character having a size of 16×16 is represented by a code &#34;3&#34;, and a character having a size of 24×24 is represented by a code &#34;4&#34;. 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., &#34;&#34; 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 &#34;4&#34; representing a character size of 24×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., &#34;&#34; 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 &#34;2121&#34; representing a space is set in the character code (2). Since the 8-dot space is formed, a code &#34;2&#34; as a value for a character size of 8×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 &#34;&#34; as the character 52 is set in the character code (3), and a code &#34;4&#34; representing the size of &#34;&#34; 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, &#34;&#34;, in FIG. 6 has a character code (7), and no character is present on the right side of the character 54, &#34;&#34;. 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 &#34;(&#34; of the character 55 is set next to dy(4) of the character 54, &#34;&#34;. 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 &#34;16&#34; is stored in an area SIZE for storing a character size, and an initial value of &#34;1&#34; is stored in n representing a currently processed character number. In step S73, it is checked whether the character code is a code &#34;2121&#34; 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 &#34;24&#34;, the size of the previous character is &#34;24&#34;. 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 &#34;8&#34; and &#34;16&#34;. If the character size represents &#34;8&#34;, the flow advances to step S78. A space having a size of 8×16 is deleted after the character having a size of 24×24, thereby realizing correction during printing. More specifically, at this time, the space having the size of 8×16 is not sent to the printer. If the character size is not &#34;8&#34;, it must be &#34;16&#34;, so the flow advances to step S77. The character size of the space code having a character size of &#34;16&#34; is changed to &#34;8&#34;. In this operation, the space having a size of 16×16 after the character having a size of 24×24 is changed to a space having a size of 8×16, thereby realizing correction during printing. 
     If the value is not &#34;24&#34; 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 &#34;16&#34;. Therefore, a character of poor appearance is not printed 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×16 is sent to the printer. That is, a control code for producing a character size of 8×16 (i.e., a half size in the horizontal direction and a full size in the vertical direction), and then the space code &#34;2121&#34; 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 a 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 a character of poor appearance from being printed even if the next line is started with a space code. That is, a value of &#34;16&#34; 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 of the invention can be realized by a keyboard such 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×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×24 appears, &#34;24&#34; 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.