WO1985003254A1 - Electronic tape writing machine - Google Patents

Electronic tape writing machine Download PDF

Info

Publication number
WO1985003254A1
WO1985003254A1 PCT/US1984/000093 US8400093W WO8503254A1 WO 1985003254 A1 WO1985003254 A1 WO 1985003254A1 US 8400093 W US8400093 W US 8400093W WO 8503254 A1 WO8503254 A1 WO 8503254A1
Authority
WO
WIPO (PCT)
Prior art keywords
character
characters
spacing
printing
intercharacter
Prior art date
Application number
PCT/US1984/000093
Other languages
French (fr)
Inventor
Thomas K. Mcgourty
Lawrence F. Mcgourty
Original Assignee
Varitronic Systems, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Varitronic Systems, Inc. filed Critical Varitronic Systems, Inc.
Priority to EP19840900916 priority Critical patent/EP0168396A1/en
Priority to PCT/US1984/000093 priority patent/WO1985003254A1/en
Publication of WO1985003254A1 publication Critical patent/WO1985003254A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J3/00Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
    • B41J3/38Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for embossing, e.g. for making matrices for stereotypes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J1/00Typewriters or selective printing mechanisms characterised by the mounting, arrangement or disposition of the types or dies
    • B41J1/22Typewriters or selective printing mechanisms characterised by the mounting, arrangement or disposition of the types or dies with types or dies mounted on carriers rotatable for selection
    • B41J1/24Typewriters or selective printing mechanisms characterised by the mounting, arrangement or disposition of the types or dies with types or dies mounted on carriers rotatable for selection the plane of the type or die face being perpendicular to the axis of rotation
    • B41J1/28Carriers stationary for impression, e.g. with the types or dies not moving relative to the carriers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J19/00Character- or line-spacing mechanisms
    • B41J19/18Character-spacing or back-spacing mechanisms; Carriage return or release devices therefor
    • B41J19/20Positive-feed character-spacing mechanisms
    • B41J19/32Differential or variable-spacing arrangements

Definitions

  • Appendix Cross-Reference This application contains an appendix A of computer software used for microcomputers 810 and 848 herein.
  • This invention relates to the general field of printing or typing equipment involving the precise positioning of adjacent characters. Specifically, this invention is embodied in a system which produces a continuous tape bearing such characters having spacing determined by the apparatus.
  • the present invention solves some of the problems of the prior art by providing an apparatus and method for producing successive adjacent characters which the desired intercharacter spacing for a variety of fonts while moving the tape in only a single direction and with a minimum of mechanical components.
  • the invention is generally directed to an electronic tape writing machine and method for tape writing including means for inputting character and control codes to a central processing unit, means for processing such codes to produce signals capable of operating a printing station having a printing device and a tape feed which can produce a succession of kerned characters on the tape, said processing means including means for detecting the type size of characters to be printed and determining a standard character width from a table, scaling the standard width from the table to the detected character size, means for determining whether the preceeding detected character and the present character are a kernable combination by accessing an intercharacter spacing table having all kernable combinations and their appropriate kerned intercharacter spacing, means for substituting the normal intercharacter spacing for that character size with the appropriate kerned intercharacter spacing if the character is kernable, and means for transmitting printing and tape command instructions to the print station to produce a series of characters having the appropriate intercharacter spacing.
  • FIGURE 1 is an environmental view of a preferred printing system employing the present invention
  • FIGURE 2 is a bottom plan view of a print disk
  • FIGURE 3 is a schematic block diagram of the main circuitry in the preferred embodiment of the present invention
  • FIGURE 4 is a schematic block diagram of the keyboard section of the circuitry
  • FIGURE 5 is a flow-chart of the overall process of the preferred embodiment of the present invention
  • FIGURE 6 is a flow-chart of a portion of the process shown in FIGURE 5 relating to the start sequence of the apparatus;
  • FIGURE 7 is a flow-graph of a portion of the process shown in FIGURE 5 relating to reading data
  • FIGURE 8 is a flow-chart of a part of the process shown in FIGURE 5, this portion relating to processing of data;
  • FIGURE 9 is a flow-chart of a portion of the process shown in FIGURE 5, this portion relating to printing of characters;
  • FIGURE 10 is a flow-chart showing a portion of the process shown in FIGURE 5, this portion relating to character spacing; and
  • FIGURE 11 is a flow-chart of a portion of the process shown in FIGURE 5, this portion relating to text editing.
  • FIGURE 1 The main circuit of this preferred embodiment is shown in block diagram form in FIGURE 1 wherein the main microprocessor 810 (in this case an Intel 8031) has a plurality of inputs 812 and outputs 814 which are shown as "black boxes" since they are easily replaced by a variety of circuits which accomplish the required interfacing.
  • the component 835 in the box with broken lines is an Intel 8155.
  • the actual mechanical components to which the interfaces are connected at their opened end is shown in our co-pending applications mentioned in the Cross-Reference section herein. Each relevant port is indicated by the manufacturer's or other standard code with an indication of the number of data lines if not entirely obvious.
  • a low paper sensor interface 816 is optionally available to read a signal from the tape cassette indicating a minimum amount of tape available.
  • the home position sensor interface 818 is capable of receiving a signal from the apparatus in our application PRINT DISK POSITIONING SYSTEM at sensor 67 therein. In general, interface 818 will sense the fact that the printing element, of whatever type, is at its home position.
  • Bar code sensor interface 820 likewise senses a particular location on the printing element, in this case the beginning of the bar code sector as could be indicated by element 31 on the above identified copending application.
  • the bar code sensor detects a bar code on the printing element or print disk which tells the microprocessor 810 the type font and point size as will be explained hereinafter.
  • the bar code sensor also aligns the disk with the most used character ("E") in the print station.
  • Hammer stop sensor interface 822 is preferably used to return an impact printing device to its home position, in this case the hammer stop sensor is sensor 218 shown in FIGURE 8 of our co-pending application entitled PRINTING MECHANISM.
  • Expand/condense switch 824 can be provided by BCD (3 bit) contact which operates the expand/condense portion of the microprocessor as explained hereinafter.
  • Serial interface and multiplexer circuit 826 has an input 828 from a serial keyboard as shown in FIGURE 2 or from an RS232-C serial data line 830 the multiplexer selects which of the two inputs will be applied to the microprocessor.
  • a power on/off and reset control is provided as indicated by numeral 832.
  • a memory bus connects the microcomputer 810 to a program and space table ROM 834 which includes the operating program and the various character widths and intercharacter spacing tables as will be explained hereinafter.
  • a buffer ram 836 provides storage for characters input prior to printing.
  • the step or motor drive interface 838 receives signals from the microcomputer to drive the track and sector motors on the print disk positioner 18 also shown in our co-pending application PRINT DISK POSITIONING SYSTEM and the paper and ribbon motor drive 26, 27 also described in our co-pending application PRECISION TAPE FEED AND GUIDE MECHANISM.
  • the print motor drive interface 840 provides a signal to the print motor which operates a hammer, such as hammer 140 in FIGURE 4 of our co-pending application entitled PRINTING MECHANISM.
  • Paper cutter drive interface 842 provides a signal which activates paper cutter 28 shown in FIGURE 1.
  • FIGURE 4 shows a schematic block diagram for the keyboard input which appears as numeral 828 on FIGURE 3.
  • a matrix keyboard 844 provides a signal to a keyboard controller 846 which in turn produces an ASCII output to the keyboard microcomputer 848, which in this case is an Intel 8039.
  • a program ROM 850 provides the programming for the microcomputer 848 and information regarding the keyboard layout.
  • a display drive interface 852 connects a microcomputer 848 to dot-matrix display 854 which holds up to 16 characters at a time. The output from the entire keyboard system is made available for serial interface 854 and, as explained earlier via 828 is transmsitted to the main microcomputer 810.
  • FIGURE 5 shows a flow-graph of the overall operation of the invention in the preferred embodiment.
  • the start sequence indicates the initialization of the system and is explained in detail in FIGURE 6.
  • the second step is the get data block which draws information from the keyboard. This is explained in detail in FIGURE 7.
  • the data is then processed as shown in FIGURE 8 and if the data is an edit command, the machine is switched to an edit mode and the edit function is performed by the edit data block as indicated in detail in FIGURE 11. When the edit function is completed, the system is recycled. If the data is not of an edit command type, the data is printed by the print station after processing through a series of steps as indicated in FIGURE 9.
  • FIGURE 6 represents the start sequence block in FIGURE 5 except it is expanded to show detail.
  • the system is initialized where all buffers are cleared, etc.
  • the disk is then located to its home position which is determined by information from the home position sensor 818 (FIGURE 3).
  • the home position is preferably where the disk is in its upper most position (withdrawn from the print head) and located at the beginning edge of the bar code sector. It is preferable to have a black or dark colored disk with the bar code sector 31 (FIGURE 2) being light in color with dark bars.
  • the disk is rotated to locate the label (or bar code sector) as indicated above.
  • the disk is then rotated to read the bar code by an optical sensor located on the printing station just below the disk.
  • the information from the bar code is transmitted to the microcomputer 810 by the bar code sensor 820 and the bar code is compared with information in ROM 834 to determine if that particular font is in the software table. If it is not, an alarm sounds. It it is, the microcomputer reads the point size for that particular type and locates the table address for that font in memory. That information is then displayed on the dot-matrix display 854 (FIGURE 4) in the form of font type and point size as a double check for the user of the machine.
  • This disk is then brought to the home position once more (by using the trailing edge 31a of the bar code region 31) which is generally with the letter "E" proximate the print head, since it is the most commonly used letter, and the print hammer is also brought to the home position which is retracted from the anvil.
  • the disk is then moved to the index track and is mechanically ready for printing.
  • a semaphore which is a counter and indicator, is cleared and all pointers are reset.
  • the system then goes to the next process, namely GET DATA as indicated in detail in FIGURE 7.
  • the computer first checks whether there is any data present in the buffer, usually coming from an earlier keystroke. If there is none, the system jumps to exit this portion of the process and continues as indicated in FIGURE 5. Otherwise, the buffer is checked for fullness and if full, an alarm is sounded and the attempted input is rejected.
  • the data is read from the buffer and echoed back to the keyboard dot-matrix display 854.
  • the data is then stored in a buffer and the pointer therefore and semaphore are also incremented.
  • PROCESS DATA the value of the semaphore is checked. If it is a zero, the system exits the process data portion since there is no data. If it is other than zero, the buffer is read and a read pointer is incremented. The semaphore is decremented by one and the data is tested to determine whether it is an edit type command or a character command. If it is an edit command, and the semaphore is zero, the process enters the edit mode as explained in detail in FIGURE 11. If the data is an edit character and the semaphore is not equal to zero, meaning the buffer has at least one character in it, the edit command is refused and the system exits this portion of the process. In effect, it is not possible to activate from the keyboard the edit command, in an attempt to switch to edit mode, when there are printable characters in the buffer. It is necessary to wait for the buffer to be emptied by printing the characters before entering the edit mode.
  • the data is not an edit character, it is therefore a printable character and it will be printed in the print data step as explained in detail in FIGURE 9.
  • the last data element or character is stored in a "last" register for use later in the kerning process.
  • the print data process the data is compared with information in ROM to determine whether it is a printable character for that particular print disk since a few characters may not be present on some disks for different languages, etc. If it is not a printable character, the print process is skipped entirely and the program exits to the next step in the overall flow-chart shown in FIGURE 5. If it is a printable character, and is not a space, the descriptors for the character are taken from ROM which gives the location of the character by track and sector of the disk. A calculation is made of how many motor steps is necessary to reach the particular track and sector and that information is stored temporarily until printing takes place. The next step involves adjustment of the spacing and this is explained in detail in FIGURE 10.
  • Spacing is adjusted in several ways. First by accomodating the width of the character by advancing the tape and ribbon sufficiently to print without over-striking the previous character, secondly calculating the intercharacter spacing and kerning the character to bring certain letters closer together to give a "type set" look, and thirdly the entire spacing process is expandable or condensible in adjustable proportion to spread out or contract the overall sequence of letters. The spacing adjustments are explained in
  • the first step is to read from memory the point size of the type and to retrieve from ROM the character width from a generalized spacing table in ROM prepared for a 10-point type. Because the print disk employed may be larger or smaller than 10-point, the print width provided from the character width table must be scaled up or down in accordance with the actual print disk. This is a mathematical calculation. The scaled value then represents the number of steps corresponding to the actual print width for that point type size.
  • the next question is whether the characters are kernable. In kerning, only certain combinations of characters may be adjusted. Those combinations are stored in ROM and by comparing the current character and the "last character" which is stored at a special address, it can be determined whether this combination is kernable. If not, the kerning process is skipped but, if it is kernable, a table provides the degree of kerning, i.e. the amount of space to be added or removed between characters is added to the previously calculated spacing and a new intercharacter spacing is arrived at.
  • the spacing is then expanded by a proportional amount depending on the adjustment of the switch, perhaps 10, 20 or 30%.
  • the spacing is then multiplied by the expansion or contraction factor and the spacing is proportionally altered.
  • the paper tape and ribbon are actually incremented by their respective stepper motors the desired number of spaces between the particular character. If the character turned out to be a space, the print portion is exited since no printing takes place. On the other hand, if it is a printable character, the print hammer is activated and the program is finished until the operator touches another key which restarts the entire process.
  • FIGURE 11 corresponds generally to a word processing machine.
  • the microprocessor checks for the presence of data and ensures that it is not an exit or quit command. If it is some editing command, then the pointer in the buffer is incremented, decremented or otherwise adjusted to manipulate the data as shown in the flow-graph. If the buffer is full, an alarm is sounded since no further data can be stored and printing must take place.
  • the data is stored pointer is incremented and the display and the information is echoed to the display so the operator can see the exact structure of what is in the buffer.
  • the data flows back to the process as shown in FIGURE 5 and the print is adjusted as per the print data process explained above.

Abstract

An electronic tape writing machine having a system capable of adjusting intercharacter spacing for a wide variety of type fonts and sizes. The spacing is adjusted by determining the type point size, scaling that information against a known data to produce a proportionally adjusted print width for each character. Then, intercharacter spacing is accomplished by checking to ensure that related characters are kernable, and then adjusting (usually reducing) a standardized space between characters for that point size type. The spacing can then be proportionally increased or decreased by taking the calculated intercharacter spacing and scaling it by a operator determined factor.

Description

ELECTRONIC TAPE WRITING MACHINE
Appendix Cross-Reference This application contains an appendix A of computer software used for microcomputers 810 and 848 herein.
Technical Field This invention relates to the general field of printing or typing equipment involving the precise positioning of adjacent characters. Specifically, this invention is embodied in a system which produces a continuous tape bearing such characters having spacing determined by the apparatus.
Cross Reference This application hereby incorporates by reference the disclosures of our co-pending applications filed on even date herewith with the following titles:
Precision Tape Feed and Guide Mechanism, S.N.
Print Disk Positioning System, S.N.
Printing Mechanism, S.N. Ribbon Cassette, S.N.
Tape Cassette with Supply Indicator, S.N.
Background of the Invention Printing of characters on a continuous transfer media or tape has made a tremendous improvement in the ability to create commercial art products because of the increased speed and accuracy of the machines which produce the tape. One such machine is shown in U.S. Patent 3,834,507 issued to Bradshaw. Because of the particular requirements of the commercial art industry, extreme accuracy is required with respect to the horizontal placement of the characters. Furthermore, a successful printing machine must be able to switch from one type font and type size to another and still be able to adjust the spacing for each size and font. In prior systems, such as that in the above cited patent, the intercharacter spacing was accomplished by physical movement of the carrier tape after printing so that the tape was movable both left and right until the next adjacent character could be located in the appropriate position. Such physical movements require complicated mechanisms and are subject to wear and misalignment. The present invention solves some of the problems of the prior art by providing an apparatus and method for producing successive adjacent characters which the desired intercharacter spacing for a variety of fonts while moving the tape in only a single direction and with a minimum of mechanical components.
Summary of the Invention The invention is generally directed to an electronic tape writing machine and method for tape writing including means for inputting character and control codes to a central processing unit, means for processing such codes to produce signals capable of operating a printing station having a printing device and a tape feed which can produce a succession of kerned characters on the tape, said processing means including means for detecting the type size of characters to be printed and determining a standard character width from a table, scaling the standard width from the table to the detected character size, means for determining whether the preceeding detected character and the present character are a kernable combination by accessing an intercharacter spacing table having all kernable combinations and their appropriate kerned intercharacter spacing, means for substituting the normal intercharacter spacing for that character size with the appropriate kerned intercharacter spacing if the character is kernable, and means for transmitting printing and tape command instructions to the print station to produce a series of characters having the appropriate intercharacter spacing. Although some specific embodiments of the present invention have been shown, those skilled in the art will preceive modifications which can be made without departing from the spirit of the invention. Therefore, it is intended that the scope of the present invention be dictated by the appended claims rather than by the description of the embodiment.
Brief Description of the Drawings FIGURE 1 is an environmental view of a preferred printing system employing the present invention; FIGURE 2 is a bottom plan view of a print disk;
FIGURE 3 is a schematic block diagram of the main circuitry in the preferred embodiment of the present invention; FIGURE 4 is a schematic block diagram of the keyboard section of the circuitry;
FIGURE 5 is a flow-chart of the overall process of the preferred embodiment of the present invention; FIGURE 6 is a flow-chart of a portion of the process shown in FIGURE 5 relating to the start sequence of the apparatus;
FIGURE 7 is a flow-graph of a portion of the process shown in FIGURE 5 relating to reading data; FIGURE 8 is a flow-chart of a part of the process shown in FIGURE 5, this portion relating to processing of data;
FIGURE 9 is a flow-chart of a portion of the process shown in FIGURE 5, this portion relating to printing of characters;
FIGURE 10 is a flow-chart showing a portion of the process shown in FIGURE 5, this portion relating to character spacing; and FIGURE 11 is a flow-chart of a portion of the process shown in FIGURE 5, this portion relating to text editing.
Detailed Description of the Preferred Embodiment The main circuit of this preferred embodiment is shown in block diagram form in FIGURE 1 wherein the main microprocessor 810 (in this case an Intel 8031) has a plurality of inputs 812 and outputs 814 which are shown as "black boxes" since they are easily replaced by a variety of circuits which accomplish the required interfacing. The component 835 in the box with broken lines is an Intel 8155. The actual mechanical components to which the interfaces are connected at their opened end is shown in our co-pending applications mentioned in the Cross-Reference section herein. Each relevant port is indicated by the manufacturer's or other standard code with an indication of the number of data lines if not entirely obvious.
Of the various inputs, a low paper sensor interface 816 is optionally available to read a signal from the tape cassette indicating a minimum amount of tape available. The home position sensor interface 818 is capable of receiving a signal from the apparatus in our application PRINT DISK POSITIONING SYSTEM at sensor 67 therein. In general, interface 818 will sense the fact that the printing element, of whatever type, is at its home position.
Bar code sensor interface 820 likewise senses a particular location on the printing element, in this case the beginning of the bar code sector as could be indicated by element 31 on the above identified copending application. The bar code sensor detects a bar code on the printing element or print disk which tells the microprocessor 810 the type font and point size as will be explained hereinafter. The bar code sensor also aligns the disk with the most used character ("E") in the print station. Hammer stop sensor interface 822 is preferably used to return an impact printing device to its home position, in this case the hammer stop sensor is sensor 218 shown in FIGURE 8 of our co-pending application entitled PRINTING MECHANISM.
Expand/condense switch 824 can be provided by BCD (3 bit) contact which operates the expand/condense portion of the microprocessor as explained hereinafter.
Serial interface and multiplexer circuit 826 has an input 828 from a serial keyboard as shown in FIGURE 2 or from an RS232-C serial data line 830 the multiplexer selects which of the two inputs will be applied to the microprocessor.
A power on/off and reset control is provided as indicated by numeral 832.
On the output side, a memory bus connects the microcomputer 810 to a program and space table ROM 834 which includes the operating program and the various character widths and intercharacter spacing tables as will be explained hereinafter. A buffer ram 836 provides storage for characters input prior to printing.
The step or motor drive interface 838 receives signals from the microcomputer to drive the track and sector motors on the print disk positioner 18 also shown in our co-pending application PRINT DISK POSITIONING SYSTEM and the paper and ribbon motor drive 26, 27 also described in our co-pending application PRECISION TAPE FEED AND GUIDE MECHANISM.
The print motor drive interface 840 provides a signal to the print motor which operates a hammer, such as hammer 140 in FIGURE 4 of our co-pending application entitled PRINTING MECHANISM. Paper cutter drive interface 842 provides a signal which activates paper cutter 28 shown in FIGURE 1.
FIGURE 4 shows a schematic block diagram for the keyboard input which appears as numeral 828 on FIGURE 3. A matrix keyboard 844 provides a signal to a keyboard controller 846 which in turn produces an ASCII output to the keyboard microcomputer 848, which in this case is an Intel 8039. A program ROM 850 provides the programming for the microcomputer 848 and information regarding the keyboard layout. A display drive interface 852 connects a microcomputer 848 to dot-matrix display 854 which holds up to 16 characters at a time. The output from the entire keyboard system is made available for serial interface 854 and, as explained earlier via 828 is transmsitted to the main microcomputer 810.
FIGURE 5 shows a flow-graph of the overall operation of the invention in the preferred embodiment. Several of the blocks in this graph are expanded in further drawings hereinafter. Beginning at the top, the start sequence indicates the initialization of the system and is explained in detail in FIGURE 6. The second step is the get data block which draws information from the keyboard. This is explained in detail in FIGURE 7. The data is then processed as shown in FIGURE 8 and if the data is an edit command, the machine is switched to an edit mode and the edit function is performed by the edit data block as indicated in detail in FIGURE 11. When the edit function is completed, the system is recycled. If the data is not of an edit command type, the data is printed by the print station after processing through a series of steps as indicated in FIGURE 9.
FIGURE 6 represents the start sequence block in FIGURE 5 except it is expanded to show detail. In the start sequence, the system is initialized where all buffers are cleared, etc. The disk is then located to its home position which is determined by information from the home position sensor 818 (FIGURE 3). The home position is preferably where the disk is in its upper most position (withdrawn from the print head) and located at the beginning edge of the bar code sector. It is preferable to have a black or dark colored disk with the bar code sector 31 (FIGURE 2) being light in color with dark bars. The disk is rotated to locate the label (or bar code sector) as indicated above.
The disk is then rotated to read the bar code by an optical sensor located on the printing station just below the disk. The information from the bar code is transmitted to the microcomputer 810 by the bar code sensor 820 and the bar code is compared with information in ROM 834 to determine if that particular font is in the software table. If it is not, an alarm sounds. It it is, the microcomputer reads the point size for that particular type and locates the table address for that font in memory. That information is then displayed on the dot-matrix display 854 (FIGURE 4) in the form of font type and point size as a double check for the user of the machine. This disk is then brought to the home position once more (by using the trailing edge 31a of the bar code region 31) which is generally with the letter "E" proximate the print head, since it is the most commonly used letter, and the print hammer is also brought to the home position which is retracted from the anvil.
The disk is then moved to the index track and is mechanically ready for printing. A semaphore, which is a counter and indicator, is cleared and all pointers are reset. The system then goes to the next process, namely GET DATA as indicated in detail in FIGURE 7. The computer first checks whether there is any data present in the buffer, usually coming from an earlier keystroke. If there is none, the system jumps to exit this portion of the process and continues as indicated in FIGURE 5. Otherwise, the buffer is checked for fullness and if full, an alarm is sounded and the attempted input is rejected.
If the buffer is not filled, the data is read from the buffer and echoed back to the keyboard dot-matrix display 854. The data is then stored in a buffer and the pointer therefore and semaphore are also incremented.
Turning to FIGURE 8, PROCESS DATA, the value of the semaphore is checked. If it is a zero, the system exits the process data portion since there is no data. If it is other than zero, the buffer is read and a read pointer is incremented. The semaphore is decremented by one and the data is tested to determine whether it is an edit type command or a character command. If it is an edit command, and the semaphore is zero, the process enters the edit mode as explained in detail in FIGURE 11. If the data is an edit character and the semaphore is not equal to zero, meaning the buffer has at least one character in it, the edit command is refused and the system exits this portion of the process. In effect, it is not possible to activate from the keyboard the edit command, in an attempt to switch to edit mode, when there are printable characters in the buffer. It is necessary to wait for the buffer to be emptied by printing the characters before entering the edit mode.
If the data is not an edit character, it is therefore a printable character and it will be printed in the print data step as explained in detail in FIGURE 9.
Finally, the last data element or character is stored in a "last" register for use later in the kerning process.
Turning to FIGURE 9, the print data process, the data is compared with information in ROM to determine whether it is a printable character for that particular print disk since a few characters may not be present on some disks for different languages, etc. If it is not a printable character, the print process is skipped entirely and the program exits to the next step in the overall flow-chart shown in FIGURE 5. If it is a printable character, and is not a space, the descriptors for the character are taken from ROM which gives the location of the character by track and sector of the disk. A calculation is made of how many motor steps is necessary to reach the particular track and sector and that information is stored temporarily until printing takes place. The next step involves adjustment of the spacing and this is explained in detail in FIGURE 10.
Spacing is adjusted in several ways. First by accomodating the width of the character by advancing the tape and ribbon sufficiently to print without over-striking the previous character, secondly calculating the intercharacter spacing and kerning the character to bring certain letters closer together to give a "type set" look, and thirdly the entire spacing process is expandable or condensible in adjustable proportion to spread out or contract the overall sequence of letters. The spacing adjustments are explained in
FIGURE 10. The first step is to read from memory the point size of the type and to retrieve from ROM the character width from a generalized spacing table in ROM prepared for a 10-point type. Because the print disk employed may be larger or smaller than 10-point, the print width provided from the character width table must be scaled up or down in accordance with the actual print disk. This is a mathematical calculation. The scaled value then represents the number of steps corresponding to the actual print width for that point type size.
The next question is whether the characters are kernable. In kerning, only certain combinations of characters may be adjusted. Those combinations are stored in ROM and by comparing the current character and the "last character" which is stored at a special address, it can be determined whether this combination is kernable. If not, the kerning process is skipped but, if it is kernable, a table provides the degree of kerning, i.e. the amount of space to be added or removed between characters is added to the previously calculated spacing and a new intercharacter spacing is arrived at.
If the expand/condense switch 824 (FIGURE 3) is activated, the spacing is then expanded by a proportional amount depending on the adjustment of the switch, perhaps 10, 20 or 30%. The spacing is then multiplied by the expansion or contraction factor and the spacing is proportionally altered. Returning to FIGURE 9, the paper tape and ribbon are actually incremented by their respective stepper motors the desired number of spaces between the particular character. If the character turned out to be a space, the print portion is exited since no printing takes place. On the other hand, if it is a printable character, the print hammer is activated and the program is finished until the operator touches another key which restarts the entire process. Returning to FIGURE 5, if the data inputted at the keyboard turned out to be an edit command, and there was no data in the buffer, (semaphore = zero) the machine would be set to an edit mode and data would not go directly to the printer. The edit mode is illustrated in FIGURE 11 and corresponds generally to a word processing machine. The microprocessor checks for the presence of data and ensures that it is not an exit or quit command. If it is some editing command, then the pointer in the buffer is incremented, decremented or otherwise adjusted to manipulate the data as shown in the flow-graph. If the buffer is full, an alarm is sounded since no further data can be stored and printing must take place. If the buffer is not full, the data is stored pointer is incremented and the display and the information is echoed to the display so the operator can see the exact structure of what is in the buffer. Of course, once the editing process is completed, the data flows back to the process as shown in FIGURE 5 and the print is adjusted as per the print data process explained above. Thus, it is possible to type a number of characters, perhaps 256, into the buffer, make the necessary changes and then cause the system to print. APPENDIX A
: 100010007598527588D0758920758DCCD28ED20096 : 10002000C292758130C2D4D2D3D2B4D2B574001288 :1000300007AE24FCFDFEFFC2D312059D7428120733 : 10004000B9D2D3E4F8F97AFF7B20D293D28EC2D30F : 10005000E4F8FC7B4075813075740430B30A900776 : i00060000A1206A3D29280FE9006FA1206A3C200DC : 100070000201404D45524C494E20582E30342C2020 : 10008000312F31362F38342C204259204C2E462E19 : 10009000204D43474F55525459434F5059524947A9 : 1000A00048542028432920313938342C20564152D5 : 1000B0004954524F4E4943532053595354454D537D :1000C00020494E432E20414C4C20574F524C442047 : 1000D00052494748545320524553455256454420AF : 1000E000003ED2D3C2D4C2A0389833BA0005D29217 : 1000F00002011EC298E599B40206BAFF21020869FE : 10010000B40F0302011E5006B40D1302010EF2E2F9 : 100110003099FDC299F5991ABA0002D29208C2D359 : 1001200022D2D3C2D4C2A0BAFF0302013D0AC292B6 : 10013000E3C2D31202A6D2D3C2A0E3FB09C2D322E8 : 1001400011DF312130FA0606060E06090506060AB1 : 100150000606060606060606060606060A0606053C : 10016000090606060606E9602E740F5FC4D2D34F57 : 1001700090014693FF020186EA601C74F05FD2D3BF
: 100180004E90014693FEEEC44FC8C0E0E87801D21D
: 10019000A0F2D0E0F8C2D3229001A6B4190374FFF4 : 1001A0002240FB239322FF00FF01FF02FF03FF0415 :1001B000FF05FF06FF07FF08FF09FF0AFF0BFF0C03 : 1001C000FF0DFF0EFF0FFF10FF11FF12FF13FF14B3 : 1001D000FF15FF16FF17FF18FF19911AD01BCF1C30 :1001E000CE1DCC1ECB1F1020C5214D22DE23C624E8 :1001F000C725C226DB27D928DA29C32AC12B5E2CC2 : 100200004C2D4B2EC42F42304F315332513352347F : 1002100053355436353756385739D73AC03BD33C07 :10022000C83DD43ED83F944067414A424643634468 : 10023000404561464947644865495A4A5C4B454CCC :10024000624D664E424F5F505951445243534154A0 : 1002500047555D5660575B584859585A8F5BCD5C7F : 100260008E5D905E935F9260A0613A6286639CS4FB : 1002700080659A6689679D689E698B6A966B856CB6 : 100230009B6D9F6E826F98708C7184728373817482 : 10029000877597769977957888798D7AD27BC97C9E : 1002A000D17DCA7ED57FFE30B30A90070A1206A31D :1002B000029230FE1207BF74001207B9EEB40D0689 : 1002C0001205310202F62430402CBE200779007AB4 : 1002D000000202ESEE3198B4FF030202FBFA1202BB : 1002E000FCEA12031C12034BB220030202F6742820 : 1002F0001207B912053474281207B9227F0054C0BE :100300002323F9E47804243D08D9FBCBF4047004DA : 10031000EB02031A2B4003F4040FF922CFC4CF548D : 100320003FFA6004E428DAFDCCF4047004EC020324 : 10033000372C4003F4040FFA749C2A500A6AF404A0 : 1003400024C8FAEFE401FFEFC4FF22C2D5BE200328 : 100350000203561203B8D2D3EBC2D312043FF912F0 :10036000052574221203A4E4494A602F1204F8BE42 :10037000200302038C12051A3178E9700F20D5068C : 10038000D2D5EA12068E12040402038E7488120378 : 10039000A4E9600119EA60011A80CC1205257422D3 :1003A0001203A42285E08C758A00C28DD28C208D28 : 1003B0000411DF80F9C28C22E9600D78107D1031C4 : 1003C000661203C971A4D9F722E860030203D7E9D2 : 1003D00024EF500974E6229003F39318229003E36C : 1003E000E9931D22B9BABBBCBEC1C5C9CDD1D5D90F :1003F000DDE1E4E5E5E4E3E2E1DFDCD8D4CCC8C448 : 10040000C0BCB9B8E86003020412EA24EF500974D2 : 10041000C02290042E93182290041EEA931D228974 : 100420008A8C8F93979CA1A6ABB0B5B9BCBEBFBF59 : 10043000BEBCBAB6B1ACA3A49C9894903C8988D262 : 10044000D3C2A0C201EB85708285718393C2D3D2DF :10045000A06064C0E0EE9320E70620E61502047B6E : 1004600020E618D0E0C0E020E71130E60ED201020D :10047000047BD0E0C0E030E702D201D0E0543F126C : 1004800007D2C0E09004B8E57375F008A42582F5A2 : 100490008250020583E4200102740493C0E07404D6 : 1004A000B57405D0E00204B1E57493F5F0D0E02511 : 1004B000F0F5F0D0E025F02200FFFFFF010102037C : 1004C00001FEFEFF0201020301FEFEFF0201020423 : 1004D00002FDFEFF0301030402FCFDFF040203050D : 1004E00003FBFDFE0302050704FAFCFD0E030609F1 : 1004F00004F9FBFD0705080BB90003020519D2D367 : 10050000ED441090014693FDEDC44CD2A0C8C0E06C : 10051000C87802F2D0E0F8C2D322B9000302053352 : 10052000D2D3BD060CD2D3EC441090014693FC808C : 10053000D7C2D3227805E471A4D8FCC2907832E403 : 10125400071A471A412056A208D0302055512056A73 : 10055000D80302057511DF20B4EDD290E471A471C7 :10056000A471A471A471A4C28C22758C00758A0038 :10057000D28CC28D229006DAD2901206A3D292803B :10053000FE740071A4793891F8749871A4D9F8C2A6 :10059000917908B125E471A4D9F9D2912279207F0B :1005A0000031663178748071A4D9F679FF7F11200B :1005B000B5123166748071A4D9F59006CA1206A3EB :1005C000D29280FE7DC87A087F113178743071A490 :1005D000DD0A90072A1206A3D29280FE3096E7DA4F :1005E000E97F007AC83178743071A430960CDAF55E :1005F00090071A1206A3D29230FEE47D08C37A0504 :10060000C0E03178743071A4309601D3DAF4D0E0D0 :1006100033DDEAF570F575E47D03C37A05C0E0319A :1006200078743071A4309601D3DAF4D0E033DDEA87 :10063000F573120845E57575F00CA4C3246AF582BC :10064000E5F03407F583780C1206A5E57375F00420 :10065000A4248EF582E5F03407F5θ378041206A50C :100860007AFF748071A4DAFAB1347A3220980A31B2 :1006700078743071A4DAF5A1BA796D7F0078107DB5 :1006800010316871C971A4D9F891F8B12522B4204E :100690000D500BC313FD500104F824F040047810F2 :1006A0007D102278107D004002D292ED933099FDAA :1006B000C299F5990DD8F4C2922220202020202042 :1006C000202020202020202020204449534B204E51 :1006D0004F54204C4F43415445442048414D4D45D3 :1006E000522050524F424C454D2053544F50204BB6 : 1006F000455920505245535345444D45524C494E5F :1007000020312E30205245414459204F5554204F1E :100710004620504150455221£12043414E4E4F54D6 :1007200020524541442043415244434845434B20D5 : 1007300049462043415244204F48205052494E5489 :100740002054494D4553202D3E20204D45524C49C3 : 100750004E204544495420202020464F4E54204EE0 : 100760004ES420494E2046494C4548454 542E3E :10077000204D45442E2048454C56542E2 4C4492 : 100780002E2048454C56542E204C49542E202038BB : 100790005054313050543132505431345054313837 : 1007A0005054323450543330505433365054D2A015 : 1007B0007800C0E0740FF2D0E0D2A07803F222D229 : 1007C000A078007403F27803E2F45407F5747428F7 : 1007D00080DC9007DD75F008A425739322000000EB : 1007E00000000000000101010102020304020202F4 : 1007F0000304050607020304040507090B030405A7 : 1008000006070A0C0E04050607090C0F1205060759 : 10081000080B0E12160607080A0D11151906080A0C : 100820000B0E13181D07090B0D10161B20080A0CC0 : 100830000E12181E24090B0D0F141A21280A0C0E73 :1008400011161D242BE57023F58275830CE493F5B6 :1008500071740193F57074FFB5710DB5700A90074E : 100860005A1206A3D29280FE22D2D4C2D3D20078EA : 10087000017B017C00C2A0740012095BC2D4C3904A : 10088000074A1206A3D2D4740812095BC312096383 : 10089000B40B03020ACDB40103020AD5B403030268 : 1008A0000ADDB41003020AE5B41103020AEDB40A2A : 1008B00003020AB9B40203020010B40003020AAC36 :1008C000B40F03020A18B40E03020A5EB404030252 : 1008D000097DB409030209D1B40803020931B40C3B : 1008E00003020912C0E0B80007D0E012096B809C37 : 1008F000EBB510040B020902BC11Ø28ØECBCØØØ233 :1009000080E7D0E012095BF2BC000302090F1C086B : 10091000018CEBB5100512096B018CBC0007E212CB : 10092000095B08018CBC110008740012035B1C01E6 : 100930008CBB010302093AB8000512096B018CBC9B : 100940001107E212095B18018C740812095B0CBCDS : 10095000110618E860E480EA18018C3099FDC2390C : 10096000F599223098FDC298E599227410C0E0E410 : 10097000D2921470FBD0E01470F3C292227D01E495 :10098000315BC2D4D39006BA1206A3D2D47C0078CD : 1009900001E8B513030209C9E2315BC2D41202A611 : 1009A000C2A0D2D4C2D3E2F50B0S3098E43163B4CC : 1009B00006DFC2D49006EA1206A3D2D43183B4058E : 1009C0000280CEB402FG020010316B1DCD70D00152 : 1009D0008C7400315B7C00780190073AC2D4120617 : 1009E000A3D2D43163315B120A03540F75F00AA409 : 1009F000FD3163315B120A03540F2DB40002018CE8 :100A0000FD217FB43A08316BD0E0D0E080C350F5CE : 100A1000B42F0280F140EF22BB0104316B01SCBB8B : 100A2000FF0280F7BC000280F2BC110280EDBC1018 : 100A30000F7408315B7420315B740C315B315B1CCB : 100A4000120A4F740E315B3163315BF208018CAADC : 100A500010EBF9F81SE2F319E8B512F80B22BB0114 :100A600004316B018CBC000280F7BC110280F2E8FB : 100A7000B5130280EC400280E8120A9CBB0103021D : 100A800006BA740F315BEC2814B51303020A8650B2 : 100A900005F9E3020A987420315B018CAA10A910B1 : 100AA0001B09E3F208E9B513F8AS1222E4315B74DC : 100AB000207A10315BDAFC016FC2D4D2A0E41207B5 : 100AC000B91205811207BFD2D4C2A0018C78289038 : 100AD0000B0E020AF27821900B36020AF2781C9073 : 100AE0000B57020AF27837900B73020AF2782B30B8 : 100 AF0000B AAE493C082C083C2D41202A6D2D4C28D : 10080000D3E4D083D08293F50BA3D8E6018C45546F : 100B10004F53524C43555947422E2D2230313233D8 : 100B20003435363738395A514A584B562C50574677 : 100B30004D4448494E4165746F73726C63757967B3 : 100B4000626A717A5D5B5E1A605F40786B7870777F : 100B5000666D6468696E613B2B262A2F2124253D32 : 100B60007C7E1F1E5C1D1C1B7D7B3C3E7F233A3F11 : 100B700028292754434520515549434B2042524F7C : 100B8000574E20484F58204A554D5053204F5643FA : 100B90005220544845204C415A5920444F472E205A : 100BA00030313233343536373839746865207175F1 : 100BB00069636B2062726F776E20666F78206A754A : 100BC0006D7073206F76657220746865206CE17A31 :050BD0007920846F674D : 060C00000C300D000D80C8
: 100C80000000000000000000000000000000000064 : 100C90000000000000000000000000070909050630 : 100CA000080204080E0A07020303030702070E03F7 : 100CB000060406060606060E06060206070707060B : 100CC000098707070706060807020507C608070879 : 100CD00006080707460746480746070307030308B1 : 100CE00002060606060604060E06030602090E06B2 : 100CF00008060406040605080605050303030706A1 : 100D000000000000000000000000000000000000E3 : 100D100000000000000000000000000709090506AF : 100D200008020408060A0702030303070207020376 : 100D3000060406060E06060E06060202070707065A : 100D40000937070707060608070E0507C6080708F8 : 100050000608070746074643074607030703030830 : 100D60000206060606060406060203060209060631 : 100D70000606040604060508060505030303070620 : 100D80000000000000000000000000000000000063 : 100D9000000000000000000000000007090905062F : 100DA00008020408060A07020303030702070203F6 : 100DB00005040505050505050505020207070706E3 : 100DC000098605050605050706020506C407060689 : 100DD00005060505460546490645060307030308BB : 100DE00002060606060604060602020602000607B1 :02000000245380
:0C000700C5AAF8AB14203420FBA8FA9323 : 10015000D5BFF055C5BF109ACFA5B820B910BAC702
: 10016000FAA3A01A182960801F25D5FF3772 3763D
: 1001700073247564BAFA967AA4A507967FA4 BB8DF
: 10013000302308DA963E2330D0C68C1024AD230C91
: 10019000DA969DF0D31 FC6 ADF007 A024 AD230EDA8A
: 1001 A00096A444A5230FD A96AB64A584A5D523F0C5
: 1001B0005FAF37F26A86B9246A8A209ADF866A09B5
: 1001C000AE230F5FAF246A20215354494157412089.
:0701D0004E494C52454D2041
: 10002000D523F962FF7266525E324B123D263523AC
: 10003000F85FAF0466BC0323014FAF0466362D6CB8 :100040006623024FAFBA80BC060466EC66FA9726B8
: 1000500052A767AABC06E66623044FAF0466EC66A7 : 10008000E62D23084FAFFFF2ABD2A5B2859279BD02 : 100070000623104FAF9A7F04ABEDAB23204FAFBDEB : 1000B00001BB0904ABEDABEB8B049B97FE67AEF6AF : 10009000959A7F04978A80BD0604AB23404FAF8AB0 :0D00A00080BD0604ABEDAB23804FAFC583E0
: 1001000000050A0F14191E23282D32373C41464B97
: 1001100050555A5F64696E73787D82878C91969B87
: 10012000CCB830F0A885531F17DF9631FCF231248C
: 100130003295FF031FA8F0AD531FA32D47530E7731
:0301400043E0B3E6
:0601E000F0F2F4F6F8FA5B
:0C01F00044D064D084D0A4D0C4D0E4D0AB
: 1002D0008A10B2059AFEB6DABDA0FDA3B6DF379040
: 1002E00047901DEEDA8A019AFDFF07908A02EFF22D :0502F000BF109AEF832E
: 1003D0008A10BE059AFEB6DDFDC6DDBDA0FDA3B642 : 1003E000E2379047901DEEDD8A019AFDFF07908A63 :0803F00002EFF5BF109A2F8344
: 1004D0008A10BE059AFEBSDABDA0FDA3B6DF37903E : 1004E00047901DEEDA8A013AFDFF07908A02EFF22B :0504F000BF109AEF832C
: 1005D0008A10BE059AFEB6DABDA0FDA3B6DF37303D : 1005E00047901DEEDA8A019AFDFF07908A022FF22A :0505F000BF109AEF832B
: 1006D0008A108E059AFEB6DABDA0FDA3BSDF37903C : 1006E00047901DEEDA8A019AFDFF07908A02EFF229 :0506F000BF109AEF832A
: 1007D0008A10BE059AFEB6DABDA0FDA3B6DF37903B : 1007E00047901DEEDA8A019AFDFF07908A02EFF228 : 0507F000BF109AEF8329 : 05024100C0FE82000276
: 100282008888080000555F05C000600040E4440013 :0E0292006040E44402020402046199404EA060 : 100300000000000000000D00C000C0C0000808F63A : 10031000F6060E0E040F22EE8EA850A148A29807F4 : 10032000A38402000C0080000609400A00000906B0 : 10033000004A606FA0E0A0000640E44410020020E4 : 10034000000000404A4400010000002040204080A4 : 10035000B6D9E840E0101F00E8009399A5448498C0 : 10036000D92A40A462F242800EDCDDAA0060183910 : 100370006A4C24898A0C02849699A644A49589869D : 1003800044C60006000000100600A000609040A0D7 : 10039000006666060000906000A040808B84408468 :10040000929BA664E0272A670868F999064EA4368D :1004100099E000A0F999060EE09F99E944048F88BD : 10042000E844049699E240640F00EF44E4903F0082 :10043000E00012E928000E0F06E9000A1F11E10092 : 10044000000F04EF08E84F20EF40E09699E600E047 :100450008F88E444a4968BE700C28FA8E544A49477 : 1004600099A244A4388F08E0001E11EE00E00E015E :10047000CE02C21E12EE60E06960A940A043438827 : 100480006080B9D9294080FF99E90E004020804062 : 100490002099F90F00EE020402040411110100007A : 10050000804000800070772300605F55E2006052F9 : 100510005565000052556F00E07277620040008719 :1005200000E40460774600604F44E30060501F0021 :10053000600010E12000062F50E06000901F00E0F6 :100540000047436360604744630060525562006047 : 100550006766600040608647006070400446007156 : 1005600077440020405600E0001611660060060146 : 10057000460242161266206005020506063433461E : 1005800000605557050204009600A400000F00A06B :1005900000900600A0040400088808060F40EAAA9C : 10070000434F5059524347485420284329203139F2 : 1007100038342C205641524954324F4E43435320AD : 1007200053595354454D5320494E432C20414C4C72 : 1007300020574F524C442052494748545320524569 : 070740005345525645442EBB : 1002A500B830F0A8D31F96AF24AD232FD896B62427 : 1002B500ADB9301118F8370331A92320201829C149 : 0302C50024AD20C8E9C724ADF7 : 1003A500B830F0A8D31F96AF24AD2330D896B62425 : 1003B500ADA5B524ADA5F803E0C6C8A9B820F018C9 :0903C50020E9C4B820FAA024AD1F :1004A500B830F0A8D31F96B318B910FA44C1233059 : 1004B500D896B2C8FAB91044C7FAA02807B830A024 :0204C50024AD64 :0C05A500B8

Claims

We Claim:
1. An electronic tape writing machine comprising: a) means for inputting character codes into a central processing unit; b) means for outputting signals from said central processing unit to drive a printing device and a paper feed device to produce a succession of characters on a tape; c) means for detecting the font style and point size of the chosen type; d) means for comparing the point size and type style to a table accessible by the central processing means containing character widths for a standarized point size type and scaling the standard width for that character to produce a character width proportional thereto for the chosen type size; e) means for inserting a standard intercharacter space between successive characters; and f) means for advancing the tape a distance equal to the scaled character width plus a predetermined intercharacter space and printing the character on the tape.
2. An electronic tape writing machine according to claim 1 wherein said inserting means includes: a) means for storing the last printed character in memory; and b) means for comparing the combination last printed character with the present imprinted character with a kerning table to determine whether the combination is kernable and, if kernable, replacing a standard intercharacter space with a new kerned space from the kerning table.
3. An electronic tape writing machine according to claim 1 wherein said inserting means includes control means to proportionally expand or condense said intercharacter space before printing.
4. An electronic tape writing machine according to claim 2 wherein said inserting means includes control means to proportionally expand or condense said intercharacter space before printing.
5. A machine according to claim 1 wherein said printing device is an impact printer and a print disk movable along X and Y axes to locate a character within the jaws of the impact printer, said print disk including a plurality of concentric bands having characters spaced therearound and having an accurate region containing a detectable code readable by said detecting means.
6. A machine according to claim 5 wherein the print disk has 3 concentric bands and a "home" position from which it starts and wherein the characters are laid out on the disk such that the most frequently used characters are closest to the "home" position.
7. A machine according to claim 1 wherein said printing device and said tape feed includes a stepper motor which can be incremented in discrete steps in accordance with impulses sent from the central processing unit.
8. A machine according to claim 1 further including a means for text editing of said input character codes prior to printing.
9. A method of adjusting spacing between characters in a printer capable of printing characters of varying size including on a continuous tape the steps of: a) detecting the type size of the character to be printed; b) detecting the specific character to be printed; c) determining the space required for that character from a standardized spacing table which lists the width required for all characters of a predetermined point size; d) scaling the information from the spacing table for that particular character to adjust the information for the actual character type size; e) inserting a standardized intercharacter space between characters and advancing the tape a distance equal to the intercharacter space plus the acaled character width; and f) printing the character.
10. A method according to claim 9 further including: a) determining whether the preceding character and the present character are kernable by accessing an intercharacter spacing table which lists kernable combinations and the intercharacter spacing required for those kernable combinations based on characters of that point size; and b) altering the standardized intercharacter spacing proportionally to expand or condense the overall length of a series of characters by inserting or removing a selected amount of space between each letter.
11. A method according to claim 9 wherein the step of detecting the point size of the character to be printed includes reading a bar code located on a planar surface of the printing element containing the character font.
PCT/US1984/000093 1984-01-20 1984-01-20 Electronic tape writing machine WO1985003254A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19840900916 EP0168396A1 (en) 1984-01-20 1984-01-20 Electronic tape writing machine
PCT/US1984/000093 WO1985003254A1 (en) 1984-01-20 1984-01-20 Electronic tape writing machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1984/000093 WO1985003254A1 (en) 1984-01-20 1984-01-20 Electronic tape writing machine

Publications (1)

Publication Number Publication Date
WO1985003254A1 true WO1985003254A1 (en) 1985-08-01

Family

ID=22182016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1984/000093 WO1985003254A1 (en) 1984-01-20 1984-01-20 Electronic tape writing machine

Country Status (2)

Country Link
EP (1) EP0168396A1 (en)
WO (1) WO1985003254A1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3485335A (en) * 1968-01-24 1969-12-23 Dymo Industries Inc Tape embossing machine with selectively variable tape feed increments
DE1561261A1 (en) * 1965-10-20 1970-02-12 Krutschau Hermann E Printing mechanism of a power-driven writing implement
US3712443A (en) * 1970-08-19 1973-01-23 Bell Telephone Labor Inc Apparatus and method for spacing or kerning typeset characters
US3759363A (en) * 1971-12-22 1973-09-18 Ibm Letter space control mechanism
US3834507A (en) * 1973-01-30 1974-09-10 Kroy Ind Inc Printing apparatus
US4074798A (en) * 1976-09-01 1978-02-21 Xerox Corporation Encoded print wheel system
US4213714A (en) * 1977-11-01 1980-07-22 General Electric Company Printer having variable character density
US4225249A (en) * 1977-06-27 1980-09-30 International Business Machines Corporation Variable character spacing matrix for proportional spacing printing systems
US4281938A (en) * 1980-01-14 1981-08-04 Phillips Stephen R Automatic print wheel element changing mechanism for a serial printer
US4298290A (en) * 1980-06-16 1981-11-03 International Business Machines Corporation System and printer justification system
GB2098765A (en) * 1978-07-18 1982-11-24 Olivetti & Co Spa Electronic typewriter

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1561261A1 (en) * 1965-10-20 1970-02-12 Krutschau Hermann E Printing mechanism of a power-driven writing implement
US3485335A (en) * 1968-01-24 1969-12-23 Dymo Industries Inc Tape embossing machine with selectively variable tape feed increments
US3712443A (en) * 1970-08-19 1973-01-23 Bell Telephone Labor Inc Apparatus and method for spacing or kerning typeset characters
US3759363A (en) * 1971-12-22 1973-09-18 Ibm Letter space control mechanism
US3834507A (en) * 1973-01-30 1974-09-10 Kroy Ind Inc Printing apparatus
US4074798A (en) * 1976-09-01 1978-02-21 Xerox Corporation Encoded print wheel system
US4225249A (en) * 1977-06-27 1980-09-30 International Business Machines Corporation Variable character spacing matrix for proportional spacing printing systems
US4213714A (en) * 1977-11-01 1980-07-22 General Electric Company Printer having variable character density
GB2098765A (en) * 1978-07-18 1982-11-24 Olivetti & Co Spa Electronic typewriter
US4281938A (en) * 1980-01-14 1981-08-04 Phillips Stephen R Automatic print wheel element changing mechanism for a serial printer
US4298290A (en) * 1980-06-16 1981-11-03 International Business Machines Corporation System and printer justification system

Also Published As

Publication number Publication date
EP0168396A1 (en) 1986-01-22

Similar Documents

Publication Publication Date Title
US4403301A (en) Word processor adapted for filling in blanks on preprinted forms
EP0574657B1 (en) Label printing apparatus and wordprocessor
US4661001A (en) Label printer with test pattern for price and bar codes
US4546449A (en) Output device capable of automatically determining an output format
US4475239A (en) Apparatus for text editing and processing
EP1045311B1 (en) Character information processor for printing characters
US6270269B1 (en) Tape printing device
US4651288A (en) Method and apparatus for filling out a form by a machine
US4497589A (en) Electronic typewriter with means for positioning the typed member
JPH0143638B2 (en)
US4888730A (en) Memory typewriter with count of overused words
EP0026286A1 (en) Hyphen code converting process for a text processing system
EP0026304A2 (en) Improved content-addressed text search apparatus for a text processing system
US4897804A (en) Data processing device with screen seperated into line format area and data display area
WO1985003254A1 (en) Electronic tape writing machine
US5486055A (en) Output method and apparatus
JPH07319868A (en) Text editing processor
EP0271321B1 (en) Display device for typewriters
JP2988308B2 (en) Tape printer device
US5290109A (en) Electronic typewriter for printing of documents having a fixed format
US5013167A (en) Bounded word replace function for an electronic typewriter erasing a zone bounded by erroneous characters
US4782339A (en) Method and apparatus for displaying text on a single-line display of a text station
JP2703461B2 (en) Label printing device
JPH07125373A (en) Printing device
EP0334605A2 (en) Documentation system capable of displaying guidance

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): AU DE DK JP NO US

AL Designated countries for regional patents

Designated state(s): AT BE CH DE FR GB LU NL SE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642