PRINT CONTROL SYSTEM CAPABLE OF SUPPRESSING A BLANK AREA WHICH MIGHT OTHERWISE APPEAR ON A REPORT

Abstract: In a print control system for use in printing a sequence of variable length data to form a report having a plurality of partial print areas, the variable length data sequence (11) is divided into a plurality of partial data sections which are related to the partial print areas and which might leave blank one or ones of the partial print areas on the report due to shortness of the variable length data sequence. Physical or actual allocation of the variable length data is suppressed to the blank partial area or areas by an allocation section (22) under control of an allocation control section (21) when suppression of the allocation is indicated by a program controller (13) and is given to the allocation control section. The allocation control section becomes active to send an allocation control signal to the allocation section only when the suppression of allocation is received. Such suppression may be described in a nonprocedural language.

Description: Background of the Invention: This invention relates to a print control system for use in printing a sequence of variable length data on a report having a plurality of partial print areas specified by rows and columns. In a conventional print control system of the type described, a variable length data sequence is divided into a plurality of unit sequences which are assigned to a plurality of rows to form a report. Thereafter, each unit sequence is successively printed by a printer row by row. With this structure, it is difficult to allocate the variable length data to optional positions or columns on the report. In addition, superfluous blanks should be left on the report even when any data are not allocated thereto. In order to realize the above-mentioned allocation of the variable length data or to suppress such superfluous blanks, a complicated program must be prepared for determining a layout on the report. A great deal of labour and expense are inevitably required to prepare such a complicated program. Therefore, the conventional print control system can not usually achieve an optimum layout on the report. In an actual report necessary for business, variable length data must often be assigned to optional rows and columns determined on a report in optional forms. More specifically, a sequence of the variable length data may be folded within a print zone laid over a plurality of the rows. Alternatively, successive ones of the variable length data sequences might continuously be printed out with no blanks interposed between the successive variable length data sequences. However, interposition of blanks is unavoidable in the conventional print control system. For example, let a certain one of the variable length data sequences be assigned with a print zone of one hundred rows and however have an amount of information enough for fifty rows. In this event, the remaining fifty rows are kept in blanks. The following variable data sequence should be printed after the blanks. In EP-234933-A published on 02. 09. 1987, there is proposed a data output control system which can specify column positions in addition to row positions. In the data output control system, each column position and each row position are successively renewed in response to instructions. However, no description is made about print control operation which is carried out after renewal of the row and column positions. Summary of the Invention : It is an object of this invention to provide a print control system which makes a complicated program unnecessary to determine a layout for a variable length data sequence on a report. It is another object of this invention to provide a print control system of the type described, which can save labour and expense and which is therefore inexpensive. It is another object of this invention to provide a print control system of the type described, which can effectively suppress superfluous blanks which might otherwise be left on the report. According to the present invention there is provided a print control system for use in printing a sequence of variable length data on a report having a print zone in which a plurality of print areas are preliminarily specified comprising allocation signal producing means for producing allocation signals which determine allocation of print areas, allocation control means responsive to said sequence of variable length data and to said allocation signals for controlling allocation of said sequence of variable length data to the print areas with reference to said allocation signals by detecting whether or not said print areas include a blank print area having no arrangement of said sequence of variable length data to produce an allocation control signal when a blank print area is present, and allocation determining means responsive to the sequence of variable length data and to said allocation control signal, for determining physical allocation of said sequence of variable length data to print areas with the physical allocation to said blank print area being suppressed. Brief Description of the Drawings : Fig. 1 shows a block diagram of a print control system according to a preferred embodiment of this invention together with a printer and a data memory; Fig. 2 exemplifies a print layout which has a plurality of partial areas; Fig. 3 shows a a format of a variable length data sequence which is to be allocated to the partial areas illustarated in Fig. 2 Fig. 4 shows a list for allocating the variable length data sequence to the partial areas illustrated in Fig. 2;; Fig. 5 shows a flow chart for use in describing operation of a portion illustrated in Fig. 1; Fig. 6 shows a flow chart for use in describing operation of another portion illustrated in Fig. 1; Figs. 7(a) through 7(c) show block diagrams for use in describing schematic and specific operation of the print control system illustrated in Fig. 1; and Fig. 8 shows a block diagram for use in describing another operation of the print control system illustrated in Fig. 1. Description of the Preferred Embodiments: Referring to Fig. 1, a print control system 10 according to a first embodiment of this invention is supplied with a sequence of variable length data stored in a data memory 11. The print control system 10 prints the variable length data sequence by a printer 12 on a recording medium to form a report. The illustrated print control system 10 comprises a program controller 13 for processing a program which may be assumed to be expressed by a high-level language and which is translated by a compiler into a series of instructions and data signals. In other words, the compiler produces the instruction series and the data signals. The instruction series and the data signals are related to allocation of the variable length data sequence to a plurality of partial print areas determined on the print zone and may collectively be referred to as allocation signals. In this connection, the program controller may be called an allocation signal producing section. Temporarily referring to Figs. 2 and 3, a print layout is exemplified in Fig. 2 to print a general sequence of variable length data on a report 15 having a print zone. The print zone is divisible into a plurality of partial print areas which can be specified by row and column positions and which are physically determined on the report. In the example being illustrated, it is assumed that first through r-th partial areas are physically assigned to the variable length data sequence in question in a manner illustrated in Fig. 2, regardless of a total data length L dt of the variable length data sequence. More particularly, the first through r-th partial areas have first through r-th area lengths L₁ to L r . The first through r-th partial areas are defined by first through r-th row beginning positions m₁ to m r , first through r-th column beginning positions n₁ to n r , first through r-th row end positions, and first through r-th column end positions n₁₀ to n r0 , respectively. The first through r-th column beginning positions n₁ to n r may be different from one another, although they are coincident with one another in Fig. 2. On the other hand, the first through r-th row end positions are coincident with the first through r-th row beginning positions m₁ to m r , respectively, and may therefore be expressed by m₁ to m r , as shown in Fig. 2. It is assumed that a specific variable length data sequence is assigned to the first through r-th partial areas. In this event, a total area length L at of the first through r-th partial areas is not always equal to the total data length L dt of the specific variable length data sequence. In other words, the total area length L at may be shorter or longer than the total data length L dt . In Fig. 3, the specific variable length data sequence is divided into first through S-th data sections 1-DS to S-DS having first through S-th data lengths L d1 to L dS , respectively. When the total data length L dt is shorter than the total area length L at , the first through (S - 1)-th data lengths L d1 to L d(S-1) are equal to area lengths L a1 to L a(S-1) of the first through (S - 1)-th partial areas, respectively, while the S-th data length L ds is equal to or shorter than an area length L aS of the S-th partial area. The remaining area or areas become empty or blank. When the data length is equal to the total area length L at , the first through S-th data sections 1-DS to S-DS are exactly assigned to the first through r-th partial areas, respectively. In addition, when the data length is longer than the total area length, the first through r-th data sections 1-DS to r-DS can be assigned to the first through r-th partial areas, respectively, but the (r + 1)-th through S-th data sections (r + 1)-DS to S-DS can not be allocated to any partial areas. Such no allocation may be indicated by the compiler. At any rate, it is possible to detect the total data length L dt of the variable length data sequence by monitoring occurrence of blank or blanks in each of the partial areas. Referring to Fig. 4 together with Fig. 2, the print layout illustrated in Fig. 2 is expressed by a list shown in Fig. 4. The list is described by the use of a nonprocedural language from the first line indicated at (1) to the (r + 2)-th line indicated at (r + 2). Along the first line (1) is disposed a name "A" given to a variable length data sequence allocated to a printing zone in question. The print layout for the variable length data sequence in question is defined between the second line and the (r + 1)-th line and is enveloped by a pair of parentheses arranged along the second line (2) and the (r + 1)-th line. As shown along the second through (r + 1)-th lines, an i-th one of the first through r-th partial areas is at first specified by the row beginning position m i and the column beginning position n i with a colon (:) interposed therebetween. This shows that a position before each colon (:) is for indicating a row position while another position after each colon (:) is for indicating a column position. The i-th partial area is further specified by the row end position m i and the column end position n i0 with a hyphen (-) interposed between the beginning positions m i : n i and the end positions m i : n i0 . From this fact, it is readily understood that positions before each hyphen are for indicating the beginning positions of each partial area while positions after the hyphen are for indicating the end positions thereof. Each partial area is therefore distinguished from one another by a comma disposed after the end positions. Thus, the second through (r + 1)-th lines indicate positions of the partial print areas and are produced by the program controller as position signals which are a part of the allocation signals. After the (r + 2)-th line, the word "TRUNCATE" in brackets are arranged, to indicate no allocation of blanks to any partial print areas and may be called a parameter for no allocation of blanks to any partial print areas. In other words, the parameter indicates suppression of allocation. Therefore, arrangement of such a parameter on the list shows that no blanks are physically and actually allocated to any partial print areas when any blanks take place due to the fact that the total data length L dt is shorter than the total area length L at . As a result, physical blanks are suppressed on a report when the parameter "TRUNCATE" is described on the list, although blanks are virtually detected on processing and may be referred to as virtual blanks. Such a parameter is produced by the program controller 13 as a suppression indication signal representative of suppression of the above-mentioned physical allocation. Referring back to Fig. 1, the illustrated control system 10 comprises an allocation control section 21 responsive to the variable length data sequence and controlled by the program controller 13 in a manner to be presently described. The allocation control section 21 is for controlling allocation of the variable length data sequence to the partial print areas of the print zone by detecting absence of any data, namely, a blank data section. Referring to Fig. 5 in addition to Fig. 1, the allocation control section 21 is coupled to the program controller 13 to be supplied with the allocation signals produced by the compiler. More specifically, the allocation control section 21 is kept inactive when the total area length L at is shorter than the total data length L dt of the variable length data sequence in question and when the parameter expressed by "TRUNCATE" is not found out. During an inactive state, no control signal is produced from the allocation control section 21. In other words, the allocation control section 21 becomes active to produce an allocation control signal in a manner to be described later when the parameter expressed by "TRUNCATE" is present on the list. In Fig. 5, operation will be described on the assumption that the above-mentioned parameter is detected in the form of the suppression indication signal at a zeroth step SA₀ by the allocation control section 21. In other words, the zeroth step SA₀ serves to detect the suppression indication signal. The allocation control section 21 carries out detection or investigation of a position of a blank following the variable length data sequence. For this purpose, the variable length data sequence is successively divided into the partial data sections DS in relation to the partial areas as shown in Fig. 2. As a result, the partial data sections DS are successively and virtually allocated to the corresponding partial print areas which may be a part of the first through r-th partial print areas. Under the circumstances, the allocation control section 21 investigates at a first step SA₁ whether or not all of the first through r-th partial print areas are blank or empty. When all of the partial areas are empty, the allocation control section 21 produces a first one of the allocation control signals so as to indicate a value "1," as shown at a second step SA₂. If the first through r-th partial print areas are not empty, the first step SA₁ is followed by a third step SA₃ for investigating whether or not the second through r-th partial print areas are empty. If the second through r-th partial print areas are kept empty, the third step SA₃ is succeeded by a fourth step SA₄ at which a second one of the allocation control signals is produced to indicate a value "2." Otherwise, a fifth step SA₅ follows the third step SA₃ to investigate whether or not all of the third through r-th partial print areas are empty. When all of the third through r-th partial print areas are empty, a third one of the allocation control signals is produced to indicate a value "3," as shown at a sixth step SA₆. Similar operation is successively repeated until the r-th partial print area alone is investigated as shown at a seventh step SA₇ as long as no virtual blank is detected. The seventh step SA₇ is followed by an eighth step SA₈ for producing an r-th one of the allocation control signals to indicate a value "r," when the r-th partial print area is blank. Otherwise, a ninth step SA₉ succeeds the seventh step SA₇ to produce an (r + 1)-th one of the allocation control signals and to indicate a value "r + 1." In general, the allocation control section 21 detects whether or not investigation partial print areas from an i-th partial area (i ≦ r) to the r-th partial area are entirely blank or empty. If the investigation partial print areas are entirely empty, the allocation control section 21 produces as the selected control signal CONT the value "i" which specifies a leading partial one of the investigation partial print areas. If no blank is detected in the investigation partial print areas, next investigation partial print areas are determined by removing the former leading partial print area. Similar investigation is repeated until the r-th partial print area is determined as an investigation partial area. Thus, the value of the selected control signal CONT is indicative of a leading one of the partial areas that are blank. At any rate, the first through ninth steps SA₁ to SA₉ may serve to investigate the blank one of the partial print areas to produce the allocation control signal. At any rate, operation of the allocation control section 21 is completed by producing a selected one of the first through (r + 1)-th control signals that is depicted at CONT in Fig. 1. In Fig. 1, the selected control signal CONT is supplied to an allocation section 22 together with the variable length data sequence. The allocation section 22 is also supplied as the allocation signals with the instructions and the data signals under control of the compiler. Referring to Fig. 6 together with Fig. 1, the allocation section 22 is operable to determine physical allocation of the variable length data sequence in a manner illustrated in Fig. 6. When operation is started, the allocation section 22 monitors the parameter at a first stage SB₁ to decide whether or not the parameter is present in the list. If the parameter is absent in the list, any physical blanks are not suppressed even on detection of virtual blanks. Therefore, the virtual blanks are actually allocated to the corresponding partial areas on the layout as shown in Fig. 2. Thus, the physical blanks are left on the layout without suppression and may be superfluous. At any rate, the first stage SB₁ may serve to detect the parameter given as the suppression indication signal to put the allocation section 22 into an active state. If the parameter is present in the list, the first stage SB₁ is followed by a second stage SB₂ for detecting what the selected control signal CONT indicates. In other words, the value of the selected control signal CONT is discriminated at the second stage SB₂ to determine a following stage. It is seen that the following stage is determined in dependency upon the value of the selected control signal CONT. This shows that the second stage SB₂ is carried out to detect the blank partial print area and to produce as a blank area signal each value specified by the selected control signal CONT. More particularly, when the value of the selected control signal CONT indicates the value (r + 1), a third stage SB₃ succeeds the second stage SB₂ as the following stage to allocate the r-th partial data section of the variable length data sequence to the r-th partial print area. For this purpose, the r-th partial data section is allocated from the beginning position (m r , n r ) of the r-th partial area. Thereafter, fourth through seventh stages SB₄ to SB₇ are successively executed in a manner to be described later. When the value of the selected control signal CONT is equal to r, 4, 3, and 2, the second stage SB₂ is selectively followed by the fourth, the fifth, the sixth, and the seventh stages SB₄, SB₅, SB₆, and SB₇, respectively. At the fourth stage SB₄, the (r - l)-th partial data section is allocated from the beginning position (m(r - 1), n(r - 1)) of the (r - 1)-th partial area. Likewise, the third, the second, and the first partial sections of the variable length data sequence are allocated from the beginning positions (m₃, n₃), (m₂, n₂), and (m₁, n₁) of the third, the second, and the first partial areas when the selected control signal CONT indicates the values "4," "3," and "2," respectively. Furthermore, when the selected control signal indicates the value "1," all the first through r-th partial print areas are blank. Therefore, no allocation is carried out when the allocation section 22 detects the value "1" of the selected control signal CONT. From the above, it is to be understood that the physical allocation to the blank or blanks is suppressed in dependency upon the value of the selected control signal CONT when the parameter is included in the list. At any rate, the third through seventh stages SB₃ to SB₇ are operable to suppress the physical allocation to the blank one of the partial data areas. In Fig. 1, the first through S-th partial data sections 1-DS to S-DS (Fig. 3) are mapped on an output data memory 23 by the allocation section 22 in the above-mentioned manner and are thereafter sent through a printing portion 24 to the printer 12. Referring to Figs. 7(a) through 7(c), it is assumed that a variable length data sequence depicted at 11' has a total data length allocated to first through third partial areas depicted at A₁, A₂, and A₃ by the printer 12, respectively. In this event, the variable length data sequence is divided into first through third partial data sections 1-DS, 2-DS, and 3-DS of the variable length data sequence. At first, the first partial data section 1-DS is allocated to the first partial area A₁ under control of the allocation section 22, as illustrated in Fig. 7(a). Subsequently, the second partial data section 2-DS is allocated to the second partial area A₂, as illustrated in Fig. 7(b). Likewise, the third partial data section 3-DS is allocated to the third partial area A₃, as shown in Fig. 7(c). Referring to Fig. 8, it is assumed that a variable length data sequence depicted at 11" has a total data length shorter than a total area length of the first through third partial areas A₁ to A₃ and that the third partial data section 3-DS is therefore blank. In this case, the first and the second partial data sections I-DS and 2-DS are allocated to the first and the second partial areas A₁ and A₂ in the manner described in Figs. 7(a) and 7(b). The allocation control section 21 detects a blank state of the third partial data section 3-DS to produce the selected control signal of the value "3." Responsive to the selected control signal CONT, the allocation section 22 does not allocate the third partial data section 3-DS to the third partial area A₃ in the above-mentioned manner. Therefore, the third partial area A₃ can be allotted to another variable length data sequence. This shows that the report is very effectively formed without superfluous physical blanks because such superfluous blanks are suppressed by monitoring a difference between the physical blanks and the virtual blanks detected on processing. Moreover, it is readily possible to obtain an optional print layout by dividing a variable length data sequence into a plurality of partial data sections and by describing such an optional print layout in a nonprocedural language. Accordingly, this enables an unskilled person to form a complexed report.

Claims: A print control system for use in printing a sequence of variable length data on a report having a print zone on which a plurality of print areas are preliminarily specified, comprising: allocation signal producing means (13) for producing allocation signals which determine allocation of print areas; allocation control means (21), responsive to said sequence of variable length data and to said allocation signals, for controlling allocation of said sequence of variable length data to the print areas with reference to said allocation signals by detecting whether or not said print areas include a blank print area having no arrangement of said sequence of variable length data to produce an allocation control signal when a blank print area is present; and allocation determining means (22), responsive to said sequence of variable length data and to said allocation control signal, for determining physical allocation of said sequence of variable length data to print areas with the physical allocation to said blank print area being suppressed. A print control system as claimed in claim 1, wherein said allocation signals comprise position signals specifying positions of said print areas on said report and a suppression indication signal indicative of suppression of physical allocation to said blank print area. A print control system as claimed in claim 2, wherein said positions and said suppression are described in a nonprocedural language. A print control system as claimed in claim 2 or 3 wherein said allocation signal producing means (13) produces said suppression indication signal when physical allocation to said blank print area is suppressed and that said allocation control means (21) comprises: detecting means (SA0), responsive to said allocation signals, for detecting said suppression indication signal from said allocation signals to put said allocation control means into an active state on detection of said suppression indication signal. A print control system as claimed in claim 4, wherein said allocation control means further comprises: investigating means (SA1 to SA9), coupled to said detecting means (SA0) and responsive to said position signals, for investigating said blank print area using said position signals to produce said allocation control signal related to said blank print area on the detection of said suppression indication signal in said detecting means. A print control system as claimed in claim 2, wherein said allocation determining means (22) further comprises: suppression indication signal detecting means (SB1) for detecting said suppression indication signal to make said allocation determining means suppress physical allocation to said blank print area. A print control system as claimed in claim 6, wherein said allocation determining means further comprises: blank area detecting means (SB2), coupled to said suppression indication signal detecting means and to said allocation control means (21), for detecting said blank print area in response to said allocation control singal to produce a blank area signal indicative of said blank print area; and means (SB3 to SB7), coupled to said blank area detecting means, for suppressing physical allocation of variable length data to said blank print area in response to said blank area signal by interrupting the physical allocation associated with said blank print area indicated by said blank area signal.

Inventors: NISHINO, RIKIO
Applicants: NEC CORPORATION
Application year: 1987
Main classification: G06F15
IPC codes: B41J21, G06F3, G06F17, G06K15