CA1166755A - Document automatic pagination - Google Patents
Document automatic paginationInfo
- Publication number
- CA1166755A CA1166755A CA000402501A CA402501A CA1166755A CA 1166755 A CA1166755 A CA 1166755A CA 000402501 A CA000402501 A CA 000402501A CA 402501 A CA402501 A CA 402501A CA 1166755 A CA1166755 A CA 1166755A
- Authority
- CA
- Canada
- Prior art keywords
- page
- end code
- character
- result
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Landscapes
- Document Processing Apparatus (AREA)
- Record Information Processing For Printing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
DOCUMENT AUTOMATION PAGINATION
Abstract The specification discloses a method for automatically paginating a data stream in a word processing system. A vertical tracking register is incremented by a value representing the displacement of the vertical print position when a line end code is encountered. The page overflow latch is then interrogated to determine whether a page overflow condition has occurred. If a page overflow condition has occurred, the next character in the data stream following a line end code is interrogated to determine whether the character is a graphic character. If the character is a graphic character, a page end code is copied into the output buffer ahead of the graphic character, the page overflow latch is reset and the tracking register is initialized. The tracking register value is then interrogated to determine whether it exceeds the last typing line. If the last typing line value has been exceeded, the page overflow latch is set. The page overflow latch is subsequently interrogated to determine whether a page overflow condition exists. If not, the input character is copied from the input buffer to the output buffer.
B15,143
Abstract The specification discloses a method for automatically paginating a data stream in a word processing system. A vertical tracking register is incremented by a value representing the displacement of the vertical print position when a line end code is encountered. The page overflow latch is then interrogated to determine whether a page overflow condition has occurred. If a page overflow condition has occurred, the next character in the data stream following a line end code is interrogated to determine whether the character is a graphic character. If the character is a graphic character, a page end code is copied into the output buffer ahead of the graphic character, the page overflow latch is reset and the tracking register is initialized. The tracking register value is then interrogated to determine whether it exceeds the last typing line. If the last typing line value has been exceeded, the page overflow latch is set. The page overflow latch is subsequently interrogated to determine whether a page overflow condition exists. If not, the input character is copied from the input buffer to the output buffer.
B15,143
Description
Descri~tlon DOCUME~T AUTOMATIC PAGINATION
Back~round of he Invention 1. Field of the Invention 5The present invention pertains to word processing and more particularly to automatic pagination of text data streams.
Back~round of he Invention 1. Field of the Invention 5The present invention pertains to word processing and more particularly to automatic pagination of text data streams.
2. Description of Prior Art In most word processing systems currently in use, the operator cannot perform batch/background output functions such as print, magnetic card recording or communications without prior page adjustment. While sorne systems, such as the IBM Office System 6, use end of paper sensors to cause formated pages to be printed, these systems do not follow the boundaries of the docurllent. Moreover, in the Office System 6, formated pages are not created for other batch/
background processes such as magnetic card recording or communications. Accordingly, a method for 2n automatically paginating the data stream for batch/
background output processes is needed.
Summar~ o~ the Invention In accordance with the present invention, a method is provided for automatically paginating a data stream in a word processing system. A vertical tracking register is incremented by a value representing the displacement of the vertical print position when a line end code is encounteredO A page overflow latch is interroga~ed to determine whether a page overflow condition has occurred. If a page overflow condition AT9--81--038 ~;
~15,143 ---` 3 ~ G ~j ~ 5 S
has occurred, the next character in t.he data stream following a line encl code is interrogated to deterrnine whether the character is a graphi.c character. If the character is a graphic character, a page end code is copied into the outpu~. buffer ahead of the graphic charac~er, the page overflow latch is reset and the tracking reyi.st.er is initiali.zed. The tracking register value i.s then in~errogated to determine whether it exceeds the last. typing line value. If the last typing line value has been exceeded, the page overflow latch i.s set. Ttle page overflow latch is subsequently interrogated to determine whether a page overflow condi.tion exists. If not, the input character is copied from the input buffer to the output buffer.
Brief Description of the Drawin~s For a more complete understanding of the present invention and for further objects and advantages thereof, reference is now made to the following Detailed Descri.ption taken in conjunction with the accompanying Drawings in which:
FIGURE 1 i.s a block diagram of the functional uni.ts of a word processing system which relate to the present~
inventi.on;
FIGU~ 2 is a block diagram showing the functional uni.ts of the common converter/preprocessor, the remote access memory and the printer access method illustrated in ~IGURE l;
FIGURE 3 is a flow chart showin~ the flow of control from the single byte decoder to the page end code executor and line end code executor;
FIGURE 4 is a flow chart of the logic of the Page End Code Executor Subrouti.ne;
sl5,143 7 ~6~;7~5 FIGURE 5 is a flow chart oE the logic of the A~tomatic Pagination ~outine;
FIGURE 6 is a flow chart of the logic of the Next Character Look Ahead Subroutine;
FIG~RE 7 is a flow chart of! the logic of the Terminate Page Subroutine; and FIGURE 8 is a flow chart of the logic of the Move Input Charac~er ~o Output Buffer Subroutine.
Best_Mode for Carr~n~ Out the Inventlon The present invention provides preprocessin~
automatic payination for a data stream for batch/
background processes such as magnetic card recording, printing and communications between word processors.
The primary object is to provide a word processor ~ith the capability of printing a data stream ~hat has not been paginated, i.e., provided with page end codes.
Automatic pa~ination permits the operator to key in a lo~ical paye of any length without having the printed text exceed the physical boundaries of the paper or the last typing line specified by the operator.
The method o~ automatic pagination of the present invention recoynizes and handles three categories of nonpa~inated text, as well as text which has been payinated with the insertion of page end codes.
! 25 The first category incl~des text in which the logical paye end occurs before the last typing line on the paper. A loyical page is a series of lines of text stored on the diskette by the operator and terminated by a page end code. A logical page may correspond to the lines of a physical sheet of paper or may be ~reater or less than the number o~ lines on a sheet of paper. When the logical page end occurs beEore the last typlng line, the entire document can be printed `:
B15,143 , ~ ~
,. l ~ f) ~.j 7 5 'j without exceeding the physical boundaries of the paper.
Thus, no automatic pagin~tion is required.
The second and ~hird catecJories include documents in which the data stream making up the logical page would exceed the last typing line if printed. This causes a page overflow condition. In the second category, the logical page exceeds the last typing line, but the next character in the data stream is a control code which causes blank spaces. These con~rol codes are known as "white ~pace characters" and include, for example, line end codes, pa~e end codes, paragraph boundaries, tabs and carriage returns. In this case, a new page will not be created until the first nonwhite (graphic) character in the data stream is encountered.
In the third category, the logical paye exceeds the last typing line and the next character in the data stream is a nonwhite or graphic character. This causes an error condition since printiny of the next character in the data stream would cause text to be printed below the last typing line. In this case, the page is terminated at the point in the data stream where the pro~ram originally determined that the last typing line was exceeded and a new page is started with the first line containing the printable graphic.
When this overflow-error condi~ion occurs, the program goes back and inserts a page end code after the point where the last line was exceeded, thereby paginating the revised data stream, which is subsequently processed.
FIGURE 1 shows the various functional comDonents of a word processing system which are involved in automatic pagination. The single line arrows represent the flow of data; the double line arrows represent :~
, B15,143 i ~ 5 the flow of control. The components include a random access memory 10, a common converter/preprocessor 12, storaye access method 1~, keyboard access method 16 and print access method 18, as well as various peripheral devices such as a data diskette device 20, a keyboard device 22 and printer device 24. In addition, a print control 26 is provided which interfaces with memory 10~ converter 12 and print access method 18~
Random access memory 10 contains an input buffer 30, out~ut buffer 32 and a binary page overflow latch 34 (FIGURE 2). As shown in FIGUR~ 1, memory 10 interfaces with the common converter/preprocessor 12, storaye access method 14, keyboard access method 16, print access method 18 and print controller 26.
Common converter/preprocessor 12 is an interface between the internal diskette code set and code sets used by the external printer, magnetic card recording and communication access methods. The primary function of the common converter/preprocessor is to convert the internal diskette code into a printable data stream.
This preprocessing function takes the internal EBCDIC
code set and generates a simple subset in EBCDIC, which can then be used and/or translated by specific access methods. As shown in FIGURE 1 and in greater detail in FIGURE 2, converter 12 takes data from the input buffer 30 of random access memory 10, operates on it and provides a revised data stream to the output buffer 32. The revised data stream, which includes page end codes provided by the present invention, is accessed from output buffer 32 by print access method 1~ The relevant subfunctions of common converter 12 are shown in FIGURE 2 and are described below in ~reater detail.
B15,143 ti~5 Referring again to FIGURE 1, storage access method 14 is a collection of programs which is used to interface various components of the system to the data diskette device 20. Whenever in the process of acquiring an input data stream converter 12 makes a request, storage access method 14 requests the data from the diskette and places it in memory in input buffer 30 (~IGURE 2~, where it can be accessed for preprocessing by converter 12.
The keyboard access method 16 is a collection of programs which interface with the keyboard device 22 from which the operator keys the primary input. The keyboard 22 has indirect control of the printing process through the memory 10. Once the operator initiates the action via keyboard 22 r the action completes itsel under control of the print controller 26 and no further operator interaction is required.
The print access method 18 is a set of programs which interface to the printer device 24. Print access method 18 takes data converted by common converter 12, puts it back into memory 10 and sends it to the printer device 24 under the control of print controller 26.
FIGURE 2 shows five subfunctions of the common converter/preprocessor which relate to the present invention. These include the sinyle byte decoder, paye end code executor, line end code executor, next character look ahead, terminate page and move input character to output buffer functions. These subfunctions are shown in FIGUR~S 3-8 and described below in ~reater detail.
The single byte control decoder 40 shown in FIGURE 2 is a~ the top of the hierarchy in terms of the flow of control. Decoder 40 decodes all single B15,143 7 $ S
byte con~rol codes, of which onl~ ~he lineiend codes and page end codes are of interest here As shown in FIGURES 2-3, decoder 40 passes control either to the page end code e~ecutor 41 or to the line end code executor 42 when the approI~riate paye or line end codes are encountered in the data stream. As shown in FIGURE 3, other nonline end codes, including yraphic character codes, are also decoded by decoder 40, but these codes are not directly yermane to the present invention. Accordingly, the logic which decodes this data into the revised data stream is not shown or described. ~ecoder 40 transfers control to other subfunctions, not illustrated in FIGURE 3, which obtain ordinary nonline end codes from the input buffer, process and copy it into the output buffer 32.
Since the Page Adjustment Routine does not distinguish between text which has been paginated and text which has not, it rnust be capable of handling text in which a page end code is encountered. When single byte control decoder 40 decodes a pa~e end code, no automatic pagination is necessary and the Automatic Pagination Routine is bypassed. When this occurs, decoder 40 transfers control to page end code executor 41. The logic of subroutine 41 is shown in FIGURE 4. At ste~ 43, the page overflow latch 34 is reset to prevent the possibility of a page overflow condition when a page end code is already present.
Control is then returned to a higher level program (not shown~ at step 44.
When a line end control code is encountered in the data stream, decoder 40 transfers control to line --end code executor 42~ a subroutine for the Automatic Pa~ination Routine 45 shown in FIG~RE 5. Whenever a line end code is executed ~y executor 42, it causes a vertical displacement of the print position on the B15,143 p~e. If, for example, the document is being single spaced with normal line density of six lines per inch, the execution of a line end code causes a vertical displacement of the print position by one sixth of an inch~ The c~rrent typin~ line is tracked by a vertical tracking retyister. The ~ertical tracking register is thus incremented at step 46 by one sixth of an inch so that it al~ays keeps track of the vertical print position. In general, the vertical tracking register will be incremented by a value depending upon the line density specified h~ the operator.
After the vertical tracking register has been increlnented at step 46, control is passed to the ~ext Character Look Ahead Subroutine 48, FIG~RE 6 lS shows the loyic of the Next Character Look Ahead Subroutine 48~ Essentially this subroutine makes a c'heck of the uaye overflow latch, which may have been set ~hen a previous line end code was encountered.
Re~erring to FIGURE 6, the Next Character Look Ahead Subroutine checks for ~age overflow at 50 by interro~atiny the pa~e over~low latch 34. If latch 34 has not been set, no page overflow condition exists and the control is returned to the Automatic Pagination Routine 45 (FIGURE 5) at step 52. If a page overflow condition is found to exist, a determination is made at step 53 whether the over~low is an error condition, characterized by the presence of a nonwhite or graphic character, by looking at the next character stored in " the input buffer 30. If a white character is present, no error condition is detected and ~a~3ination is not re~llired at this point in the data stream. Control is then rt?turned to the Automatic Pagination Routine 45 at step 52. If the next character is a graphic Bl5,143 ' 5 5 character, this e~ror condition is detected and appropriate action is ~aken by ~he Terminate Page Subroutine 54~
FIGURE 7 illustrates the logic of TerMinate Page Subroutine 54. At step 56, the paye overflow latch 34 is reset. The vertical tracking reyister is then initialized at step S8 to track the vertical print position on a new page~ The ~racking register is initialized to a value which corresponds to the vertical displacement of the first line at which the new page is to be printed. This first line value is specified by the operator~ At step 60, a page end code is then copied into the output buffer 32 following the last character which caused a page overflow and error conditions. Control is then returned to Automatic Pagination Routine 45 (FIGURE 5) at step 62.
Referring once again to FIGVRE 5, a determination is made at step 64 whether the value of the vertical tracking reyister exceeds the last typing line value specified by the operator. If the last typiny line value has not been exceeded, the Move Input Character to Output Buffer Subroutine 66 is executed. If the register value exceeds the last typing line value, an overflow condition exists, which is indicated at step 65 by setting the page overflo~ latch 34. After latch 34 is set, the Move Input Character to Output Buffer Subroutine 66 is executed.
FIGUR~ 8 shows the logic of Subroutine 66.
Essentially this subroutine permits input characters to be transferred to the output buffer i~ no overflow condition exists. At step 68, a determination is made whether a paye overflow condition exists by sampling the ~aye overflow latch 34. If overflow has occurred r control is returned to the Automatic Pagination Routine B15,143 45 (FlGU~E 5) at step 70. ~nder overflow conditions, a white input character is thrown away by simply providiny no mechanism for copying it into the output buffer. Un9der overflow~error conditions, a graphic input character which represents the first character of a new page will eventually be copied into ~he output buffer, but this will occur after the latch has been reset, the over~low condition has been terminated and a page end code has been copied into the o~tput buffer ahead of the graphic character. Thus, during processing, a graphic character will be printed on a new page, after a page end code is encountered.
It may thus be seen that the presen~ invention provides automatic pagination for a word processing system. The automatic pagination routine has the ability to handle paginated data streams, as well as data streams containing no page end codes. The revised ~payinated) data stream output to the output buffer is then accessed by the print, magnetic card recording and communications access methods, which was not possible in prior art systems.
Whereas the present invention has been described by reference to specific embodiments thereof, it will be understood that various changes and modifications will be suggested to one skilled in the art~ and it is ; intended to encompass such changes and modifications as fall within the scope of the appended claims.
~9-81-038 B15,143
background processes such as magnetic card recording or communications. Accordingly, a method for 2n automatically paginating the data stream for batch/
background output processes is needed.
Summar~ o~ the Invention In accordance with the present invention, a method is provided for automatically paginating a data stream in a word processing system. A vertical tracking register is incremented by a value representing the displacement of the vertical print position when a line end code is encounteredO A page overflow latch is interroga~ed to determine whether a page overflow condition has occurred. If a page overflow condition AT9--81--038 ~;
~15,143 ---` 3 ~ G ~j ~ 5 S
has occurred, the next character in t.he data stream following a line encl code is interrogated to deterrnine whether the character is a graphi.c character. If the character is a graphic character, a page end code is copied into the outpu~. buffer ahead of the graphic charac~er, the page overflow latch is reset and the tracking reyi.st.er is initiali.zed. The tracking register value i.s then in~errogated to determine whether it exceeds the last. typing line value. If the last typing line value has been exceeded, the page overflow latch i.s set. Ttle page overflow latch is subsequently interrogated to determine whether a page overflow condi.tion exists. If not, the input character is copied from the input buffer to the output buffer.
Brief Description of the Drawin~s For a more complete understanding of the present invention and for further objects and advantages thereof, reference is now made to the following Detailed Descri.ption taken in conjunction with the accompanying Drawings in which:
FIGURE 1 i.s a block diagram of the functional uni.ts of a word processing system which relate to the present~
inventi.on;
FIGU~ 2 is a block diagram showing the functional uni.ts of the common converter/preprocessor, the remote access memory and the printer access method illustrated in ~IGURE l;
FIGURE 3 is a flow chart showin~ the flow of control from the single byte decoder to the page end code executor and line end code executor;
FIGURE 4 is a flow chart of the logic of the Page End Code Executor Subrouti.ne;
sl5,143 7 ~6~;7~5 FIGURE 5 is a flow chart oE the logic of the A~tomatic Pagination ~outine;
FIGURE 6 is a flow chart of the logic of the Next Character Look Ahead Subroutine;
FIG~RE 7 is a flow chart of! the logic of the Terminate Page Subroutine; and FIGURE 8 is a flow chart of the logic of the Move Input Charac~er ~o Output Buffer Subroutine.
Best_Mode for Carr~n~ Out the Inventlon The present invention provides preprocessin~
automatic payination for a data stream for batch/
background processes such as magnetic card recording, printing and communications between word processors.
The primary object is to provide a word processor ~ith the capability of printing a data stream ~hat has not been paginated, i.e., provided with page end codes.
Automatic pa~ination permits the operator to key in a lo~ical paye of any length without having the printed text exceed the physical boundaries of the paper or the last typing line specified by the operator.
The method o~ automatic pagination of the present invention recoynizes and handles three categories of nonpa~inated text, as well as text which has been payinated with the insertion of page end codes.
! 25 The first category incl~des text in which the logical paye end occurs before the last typing line on the paper. A loyical page is a series of lines of text stored on the diskette by the operator and terminated by a page end code. A logical page may correspond to the lines of a physical sheet of paper or may be ~reater or less than the number o~ lines on a sheet of paper. When the logical page end occurs beEore the last typlng line, the entire document can be printed `:
B15,143 , ~ ~
,. l ~ f) ~.j 7 5 'j without exceeding the physical boundaries of the paper.
Thus, no automatic pagin~tion is required.
The second and ~hird catecJories include documents in which the data stream making up the logical page would exceed the last typing line if printed. This causes a page overflow condition. In the second category, the logical page exceeds the last typing line, but the next character in the data stream is a control code which causes blank spaces. These con~rol codes are known as "white ~pace characters" and include, for example, line end codes, pa~e end codes, paragraph boundaries, tabs and carriage returns. In this case, a new page will not be created until the first nonwhite (graphic) character in the data stream is encountered.
In the third category, the logical paye exceeds the last typing line and the next character in the data stream is a nonwhite or graphic character. This causes an error condition since printiny of the next character in the data stream would cause text to be printed below the last typing line. In this case, the page is terminated at the point in the data stream where the pro~ram originally determined that the last typing line was exceeded and a new page is started with the first line containing the printable graphic.
When this overflow-error condi~ion occurs, the program goes back and inserts a page end code after the point where the last line was exceeded, thereby paginating the revised data stream, which is subsequently processed.
FIGURE 1 shows the various functional comDonents of a word processing system which are involved in automatic pagination. The single line arrows represent the flow of data; the double line arrows represent :~
, B15,143 i ~ 5 the flow of control. The components include a random access memory 10, a common converter/preprocessor 12, storaye access method 1~, keyboard access method 16 and print access method 18, as well as various peripheral devices such as a data diskette device 20, a keyboard device 22 and printer device 24. In addition, a print control 26 is provided which interfaces with memory 10~ converter 12 and print access method 18~
Random access memory 10 contains an input buffer 30, out~ut buffer 32 and a binary page overflow latch 34 (FIGURE 2). As shown in FIGUR~ 1, memory 10 interfaces with the common converter/preprocessor 12, storaye access method 14, keyboard access method 16, print access method 18 and print controller 26.
Common converter/preprocessor 12 is an interface between the internal diskette code set and code sets used by the external printer, magnetic card recording and communication access methods. The primary function of the common converter/preprocessor is to convert the internal diskette code into a printable data stream.
This preprocessing function takes the internal EBCDIC
code set and generates a simple subset in EBCDIC, which can then be used and/or translated by specific access methods. As shown in FIGURE 1 and in greater detail in FIGURE 2, converter 12 takes data from the input buffer 30 of random access memory 10, operates on it and provides a revised data stream to the output buffer 32. The revised data stream, which includes page end codes provided by the present invention, is accessed from output buffer 32 by print access method 1~ The relevant subfunctions of common converter 12 are shown in FIGURE 2 and are described below in ~reater detail.
B15,143 ti~5 Referring again to FIGURE 1, storage access method 14 is a collection of programs which is used to interface various components of the system to the data diskette device 20. Whenever in the process of acquiring an input data stream converter 12 makes a request, storage access method 14 requests the data from the diskette and places it in memory in input buffer 30 (~IGURE 2~, where it can be accessed for preprocessing by converter 12.
The keyboard access method 16 is a collection of programs which interface with the keyboard device 22 from which the operator keys the primary input. The keyboard 22 has indirect control of the printing process through the memory 10. Once the operator initiates the action via keyboard 22 r the action completes itsel under control of the print controller 26 and no further operator interaction is required.
The print access method 18 is a set of programs which interface to the printer device 24. Print access method 18 takes data converted by common converter 12, puts it back into memory 10 and sends it to the printer device 24 under the control of print controller 26.
FIGURE 2 shows five subfunctions of the common converter/preprocessor which relate to the present invention. These include the sinyle byte decoder, paye end code executor, line end code executor, next character look ahead, terminate page and move input character to output buffer functions. These subfunctions are shown in FIGUR~S 3-8 and described below in ~reater detail.
The single byte control decoder 40 shown in FIGURE 2 is a~ the top of the hierarchy in terms of the flow of control. Decoder 40 decodes all single B15,143 7 $ S
byte con~rol codes, of which onl~ ~he lineiend codes and page end codes are of interest here As shown in FIGURES 2-3, decoder 40 passes control either to the page end code e~ecutor 41 or to the line end code executor 42 when the approI~riate paye or line end codes are encountered in the data stream. As shown in FIGURE 3, other nonline end codes, including yraphic character codes, are also decoded by decoder 40, but these codes are not directly yermane to the present invention. Accordingly, the logic which decodes this data into the revised data stream is not shown or described. ~ecoder 40 transfers control to other subfunctions, not illustrated in FIGURE 3, which obtain ordinary nonline end codes from the input buffer, process and copy it into the output buffer 32.
Since the Page Adjustment Routine does not distinguish between text which has been paginated and text which has not, it rnust be capable of handling text in which a page end code is encountered. When single byte control decoder 40 decodes a pa~e end code, no automatic pagination is necessary and the Automatic Pagination Routine is bypassed. When this occurs, decoder 40 transfers control to page end code executor 41. The logic of subroutine 41 is shown in FIGURE 4. At ste~ 43, the page overflow latch 34 is reset to prevent the possibility of a page overflow condition when a page end code is already present.
Control is then returned to a higher level program (not shown~ at step 44.
When a line end control code is encountered in the data stream, decoder 40 transfers control to line --end code executor 42~ a subroutine for the Automatic Pa~ination Routine 45 shown in FIG~RE 5. Whenever a line end code is executed ~y executor 42, it causes a vertical displacement of the print position on the B15,143 p~e. If, for example, the document is being single spaced with normal line density of six lines per inch, the execution of a line end code causes a vertical displacement of the print position by one sixth of an inch~ The c~rrent typin~ line is tracked by a vertical tracking retyister. The ~ertical tracking register is thus incremented at step 46 by one sixth of an inch so that it al~ays keeps track of the vertical print position. In general, the vertical tracking register will be incremented by a value depending upon the line density specified h~ the operator.
After the vertical tracking register has been increlnented at step 46, control is passed to the ~ext Character Look Ahead Subroutine 48, FIG~RE 6 lS shows the loyic of the Next Character Look Ahead Subroutine 48~ Essentially this subroutine makes a c'heck of the uaye overflow latch, which may have been set ~hen a previous line end code was encountered.
Re~erring to FIGURE 6, the Next Character Look Ahead Subroutine checks for ~age overflow at 50 by interro~atiny the pa~e over~low latch 34. If latch 34 has not been set, no page overflow condition exists and the control is returned to the Automatic Pagination Routine 45 (FIGURE 5) at step 52. If a page overflow condition is found to exist, a determination is made at step 53 whether the over~low is an error condition, characterized by the presence of a nonwhite or graphic character, by looking at the next character stored in " the input buffer 30. If a white character is present, no error condition is detected and ~a~3ination is not re~llired at this point in the data stream. Control is then rt?turned to the Automatic Pagination Routine 45 at step 52. If the next character is a graphic Bl5,143 ' 5 5 character, this e~ror condition is detected and appropriate action is ~aken by ~he Terminate Page Subroutine 54~
FIGURE 7 illustrates the logic of TerMinate Page Subroutine 54. At step 56, the paye overflow latch 34 is reset. The vertical tracking reyister is then initialized at step S8 to track the vertical print position on a new page~ The ~racking register is initialized to a value which corresponds to the vertical displacement of the first line at which the new page is to be printed. This first line value is specified by the operator~ At step 60, a page end code is then copied into the output buffer 32 following the last character which caused a page overflow and error conditions. Control is then returned to Automatic Pagination Routine 45 (FIGURE 5) at step 62.
Referring once again to FIGVRE 5, a determination is made at step 64 whether the value of the vertical tracking reyister exceeds the last typing line value specified by the operator. If the last typiny line value has not been exceeded, the Move Input Character to Output Buffer Subroutine 66 is executed. If the register value exceeds the last typing line value, an overflow condition exists, which is indicated at step 65 by setting the page overflo~ latch 34. After latch 34 is set, the Move Input Character to Output Buffer Subroutine 66 is executed.
FIGUR~ 8 shows the logic of Subroutine 66.
Essentially this subroutine permits input characters to be transferred to the output buffer i~ no overflow condition exists. At step 68, a determination is made whether a paye overflow condition exists by sampling the ~aye overflow latch 34. If overflow has occurred r control is returned to the Automatic Pagination Routine B15,143 45 (FlGU~E 5) at step 70. ~nder overflow conditions, a white input character is thrown away by simply providiny no mechanism for copying it into the output buffer. Un9der overflow~error conditions, a graphic input character which represents the first character of a new page will eventually be copied into ~he output buffer, but this will occur after the latch has been reset, the over~low condition has been terminated and a page end code has been copied into the o~tput buffer ahead of the graphic character. Thus, during processing, a graphic character will be printed on a new page, after a page end code is encountered.
It may thus be seen that the presen~ invention provides automatic pagination for a word processing system. The automatic pagination routine has the ability to handle paginated data streams, as well as data streams containing no page end codes. The revised ~payinated) data stream output to the output buffer is then accessed by the print, magnetic card recording and communications access methods, which was not possible in prior art systems.
Whereas the present invention has been described by reference to specific embodiments thereof, it will be understood that various changes and modifications will be suggested to one skilled in the art~ and it is ; intended to encompass such changes and modifications as fall within the scope of the appended claims.
~9-81-038 B15,143
Claims (12)
1. A method for automatically paginating text in a word processing system comprising the steps of:
(a) interrogating a page overflow latch to determine positively or negatively whether a page overflow condition has occurred, when a line end code is encountered in a data stream;
(b) interrogating the next character in the data stream following the line end code to determine positively or negatively whether said next character is a graphic character, when the result of step (a) is positive; and (c) copying a page end code into the output buffer ahead of said graphic character when the result of step (b) is positive.
(a) interrogating a page overflow latch to determine positively or negatively whether a page overflow condition has occurred, when a line end code is encountered in a data stream;
(b) interrogating the next character in the data stream following the line end code to determine positively or negatively whether said next character is a graphic character, when the result of step (a) is positive; and (c) copying a page end code into the output buffer ahead of said graphic character when the result of step (b) is positive.
2. The method of Claim 1 further comprising the step of:
(d) repeating steps (a)-(c) when the next line end code is encountered in the data stream.
B15,143 11
(d) repeating steps (a)-(c) when the next line end code is encountered in the data stream.
B15,143 11
3. A method for automatically paginating a data stream in a word processing system comprising the steps of;
(a) incrementing a vertical tracking register by a value representing the vertical displacement of the vertical print position when a line end code is encountered in the data stream;
(b) interrogating a page overflow latch to determine positively or negatively whether a page overflow condition has occurred when a line end code is encountered in a data stream;
(c) interrogating the next character in the data stream following a line end code to determine positively or negatively whether said next character is a graphic character, when the result of step (b) is positive;
(d) copying a page end code into the output buffer ahead of said graphic character, when the result of step (c) is positive;
(e) resetting said page overflow latch when the result of step (c) is positive;
(f) interrogating said page overflow latch a second time to determine positively or negatively whether a page overflow condition exists; and (g) copying the character in the input buffer into the output buffer when the result of step (f) is negative.
(a) incrementing a vertical tracking register by a value representing the vertical displacement of the vertical print position when a line end code is encountered in the data stream;
(b) interrogating a page overflow latch to determine positively or negatively whether a page overflow condition has occurred when a line end code is encountered in a data stream;
(c) interrogating the next character in the data stream following a line end code to determine positively or negatively whether said next character is a graphic character, when the result of step (b) is positive;
(d) copying a page end code into the output buffer ahead of said graphic character, when the result of step (c) is positive;
(e) resetting said page overflow latch when the result of step (c) is positive;
(f) interrogating said page overflow latch a second time to determine positively or negatively whether a page overflow condition exists; and (g) copying the character in the input buffer into the output buffer when the result of step (f) is negative.
4. The method of Claim 3 further comprising the step of:
(h) repeating steps (a)-(g) when the next line end code is encountered in the data stream.
(h) repeating steps (a)-(g) when the next line end code is encountered in the data stream.
5. The method of Claim 3 further comprising the step of (i) initializing said vertical tracking register when the result of step (c) is positive.
B15,143
B15,143
6. The method of Claim 5 wherein said vertical tracking register is initialized to a value equal to the vertical displacement of the first typing line specified by the operator.
7. The method of Claim 3 further comprising the steps of:
(j) interrogating said vertical tracking register to determine positively or negatively whether the value of said register exceeds the last typing line specified by the operator; and (k) setting said page overflow latch when the result of step (j) is positive.
B15,143
(j) interrogating said vertical tracking register to determine positively or negatively whether the value of said register exceeds the last typing line specified by the operator; and (k) setting said page overflow latch when the result of step (j) is positive.
B15,143
8. A method for automatically paginating a data stream in a word processing system comprising the steps of:
(a) incrementing a vertical tracking register by a value representing the displacement of the vertical print position when a line end code is encountered;
(b) interrogating a page overflow latch to determine positively or negatively whether a page overflow condition has occured when a line end code is encountered;
(c) interrogating the next character in the data stream following a line end code to determine positively or negatively whether said character is a graphic character, when the result of step (b) is positive;
(d) resetting said page overflow latch when the result of step (c) is positive;
(e) initializing said vertical tracking register to a value equal to the vertical displacement of the first typing line specified by the operator, when the result of step (c) is positive;
(f) copying a page end code into the output buffer ahead of said graphic character, when the result of step (c) is positive;
(g) interrogating said vertical tracking register to determine positively or negatively whether the value of said register exceeds the last typing line value specified by the operator;
(h) setting said page overflow latch when the result of step (y) is positive;
(i) interrogating said page overflow latch a second time to determine positively or negatively whether a page overflow condition has occurred; and (j) copying the character in the input buffer into the output buffer when the result of step (i) is negative.
B15,143
(a) incrementing a vertical tracking register by a value representing the displacement of the vertical print position when a line end code is encountered;
(b) interrogating a page overflow latch to determine positively or negatively whether a page overflow condition has occured when a line end code is encountered;
(c) interrogating the next character in the data stream following a line end code to determine positively or negatively whether said character is a graphic character, when the result of step (b) is positive;
(d) resetting said page overflow latch when the result of step (c) is positive;
(e) initializing said vertical tracking register to a value equal to the vertical displacement of the first typing line specified by the operator, when the result of step (c) is positive;
(f) copying a page end code into the output buffer ahead of said graphic character, when the result of step (c) is positive;
(g) interrogating said vertical tracking register to determine positively or negatively whether the value of said register exceeds the last typing line value specified by the operator;
(h) setting said page overflow latch when the result of step (y) is positive;
(i) interrogating said page overflow latch a second time to determine positively or negatively whether a page overflow condition has occurred; and (j) copying the character in the input buffer into the output buffer when the result of step (i) is negative.
B15,143
9. The method of Claim 8 further comprising the step of:
(k) repeating steps (a)-(j) when the next line end code is detected.
(k) repeating steps (a)-(j) when the next line end code is detected.
10. The method of Claim 8 further comprising the step of:
(l) resetting said page overflow latch when a page end code is encountered in the data stream.
B15,143
(l) resetting said page overflow latch when a page end code is encountered in the data stream.
B15,143
11. A method for automatic repaginating a data stream in a word processing system comprising the steps of:
(a) resetting the page overflow latch when a page end code is encountered in the data stream;
(b) incrementing a vertical tracking register by a value representing the displacement of the vertical position when a line end code is encountered;
(c) interrogating said page overflow latch to determine positively or negatively whether a page overflow condition has occurred;
(d) interrogating the next character in the data stream following the line end code to determine positively or negatively whether said character is a graphic character, when the result of step (c) is positive;
(e) resetting said page overflow latch when a result of step (d) is positive;
(f) initializing said vertical tracking register to a value equal to the vertical displacement of the first typing line specified by the operator, when the result of step (d) is positive;
(g) copying a page end code into the output buffer ahead of said graphic character, when the result of step (d) is positive;
(h) interrogating said vertical tracking register to determine positively or negatively whether the value of said register exceeds the last typing line value specified by the operator;
(i) said page overflow latch when the result of step (h) is positive;
(j) again interrogating said page overflow latch to determine positively or negatively whether a page overflow condition has occurred; and B15,143 (Claim 11 Continued) (k) copying the character in the input buffer into the output buffer when the result of step (j) is negative.
(a) resetting the page overflow latch when a page end code is encountered in the data stream;
(b) incrementing a vertical tracking register by a value representing the displacement of the vertical position when a line end code is encountered;
(c) interrogating said page overflow latch to determine positively or negatively whether a page overflow condition has occurred;
(d) interrogating the next character in the data stream following the line end code to determine positively or negatively whether said character is a graphic character, when the result of step (c) is positive;
(e) resetting said page overflow latch when a result of step (d) is positive;
(f) initializing said vertical tracking register to a value equal to the vertical displacement of the first typing line specified by the operator, when the result of step (d) is positive;
(g) copying a page end code into the output buffer ahead of said graphic character, when the result of step (d) is positive;
(h) interrogating said vertical tracking register to determine positively or negatively whether the value of said register exceeds the last typing line value specified by the operator;
(i) said page overflow latch when the result of step (h) is positive;
(j) again interrogating said page overflow latch to determine positively or negatively whether a page overflow condition has occurred; and B15,143 (Claim 11 Continued) (k) copying the character in the input buffer into the output buffer when the result of step (j) is negative.
12. The method of Claim 11 further comprising the step of:
(m) repeating steps (a)-(k) when the next line end code is detected.
B15,143
(m) repeating steps (a)-(k) when the next line end code is detected.
B15,143
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27436481A | 1981-06-16 | 1981-06-16 | |
US274,364 | 1981-06-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1166755A true CA1166755A (en) | 1984-05-01 |
Family
ID=23047875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000402501A Expired CA1166755A (en) | 1981-06-16 | 1982-05-07 | Document automatic pagination |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPS57212590A (en) |
CA (1) | CA1166755A (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS553751A (en) * | 1978-06-23 | 1980-01-11 | Kibun Kk | Preparation of dessert food |
JPS5543629A (en) * | 1978-09-22 | 1980-03-27 | Toshiba Corp | Printer |
-
1982
- 1982-05-07 CA CA000402501A patent/CA1166755A/en not_active Expired
- 1982-06-10 JP JP57098585A patent/JPS57212590A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS6325364B2 (en) | 1988-05-25 |
JPS57212590A (en) | 1982-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Morris et al. | Computer detection of typographical errors | |
US6675358B1 (en) | Font access, registration, display and printing method and a method for processing electronic documents having variant fonts | |
US4498150A (en) | Document automatic pagination | |
US4441829A (en) | Method for performing a multiple page get operation in a text processing system | |
US7657421B2 (en) | System and method for identifying and defining idioms | |
US4498132A (en) | Data processing system using object-based information and a protection scheme for determining access rights to such information and using multilevel microcode techniques | |
EP0401258A4 (en) | Document marking system | |
EP0023821A3 (en) | Apparatus and method for checking a memory and a computer system including a memory and apparatus for checking the memory | |
CA1166755A (en) | Document automatic pagination | |
US4656579A (en) | Digital data processing system having a uniquely organized memory system and means for storing and accessing information therein | |
Borden et al. | A computerized language analysis system | |
US20020181779A1 (en) | Character and style recognition of scanned text | |
US4573138A (en) | Justifying with printer level data stream which accommodates footers and headers | |
Fischer et al. | Association metrics in neural transition-based dependency parsing | |
JPH0130173B2 (en) | ||
Herzig et al. | Extraction of medical information from textual sources: a statistical variant of the boundary word method | |
Prasad | Application of OCR in building bibliographic databases | |
CN118194852A (en) | Text error correction method, electronic device and storage medium | |
Celerin | A Dissonant Reply to “An Open Letter to the World Veterinary Congress Against Nuclear War” | |
Daku et al. | Lexicoder 3.01 | |
JPH04243477A (en) | Index word extraction method for natural language processing system | |
Diamond | On the edge | |
Isotta | A suggested first step towards automation | |
Goldman | How do you spell relief? Two software reviews. | |
Silver et al. | Preliminary user's guide to monitor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |